mirror of
https://github.com/OPM/ResInsight.git
synced 2025-01-01 03:37:15 -06:00
119 lines
4.2 KiB
C++
119 lines
4.2 KiB
C++
#include "gtest/gtest.h"
|
|
|
|
#include "RiuSummaryQuantityNameInfoProvider.h"
|
|
#include <chrono>
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
///
|
|
//--------------------------------------------------------------------------------------------------
|
|
TEST( RiuSummaryQuantityNameInfoProvider, TestInit )
|
|
{
|
|
{
|
|
std::string s( "SRSFC" );
|
|
auto cat = RiuSummaryQuantityNameInfoProvider::instance()->identifyCategory( s );
|
|
EXPECT_TRUE( cat == RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL_SEGMENT );
|
|
|
|
auto longName = RiuSummaryQuantityNameInfoProvider::instance()->longNameFromVectorName( s );
|
|
EXPECT_TRUE( longName == "Reach brine concentration" );
|
|
}
|
|
|
|
{
|
|
std::string s( "SRSFC" );
|
|
auto test = RiuSummaryQuantityNameInfoProvider::instance()->longNameFromVectorName( s );
|
|
|
|
EXPECT_TRUE( test == "Reach brine concentration" );
|
|
}
|
|
|
|
{
|
|
std::string s( "does not exist" );
|
|
auto cat = RiuSummaryQuantityNameInfoProvider::instance()->identifyCategory( s );
|
|
EXPECT_TRUE( cat == RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_INVALID );
|
|
|
|
auto longName = RiuSummaryQuantityNameInfoProvider::instance()->longNameFromVectorName( s );
|
|
|
|
EXPECT_TRUE( longName.empty() );
|
|
}
|
|
|
|
{
|
|
std::string s( "does not exist" );
|
|
auto test = RiuSummaryQuantityNameInfoProvider::instance()->longNameFromVectorName( s );
|
|
|
|
EXPECT_TRUE( test.empty() );
|
|
}
|
|
|
|
{
|
|
std::string s( "does not exist" );
|
|
auto test = RiuSummaryQuantityNameInfoProvider::instance()->longNameFromVectorName( s, true );
|
|
|
|
EXPECT_TRUE( test == s );
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
///
|
|
//--------------------------------------------------------------------------------------------------
|
|
TEST( RiuSummaryQuantityNameInfoProvider, TestCustomNaming )
|
|
{
|
|
{
|
|
std::string s( "SRSFCABC" );
|
|
auto cat = RiuSummaryQuantityNameInfoProvider::instance()->identifyCategory( s );
|
|
EXPECT_TRUE( cat == RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL_SEGMENT );
|
|
|
|
auto longName = RiuSummaryQuantityNameInfoProvider::instance()->longNameFromVectorName( s );
|
|
EXPECT_TRUE( longName == "Reach brine concentration" );
|
|
}
|
|
|
|
{
|
|
std::string s( "BHD__ABC" );
|
|
auto test = RiuSummaryQuantityNameInfoProvider::instance()->longNameFromVectorName( s );
|
|
|
|
EXPECT_TRUE( test == "Hydraulic head" );
|
|
}
|
|
}
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
///
|
|
//--------------------------------------------------------------------------------------------------
|
|
TEST( RiuSummaryQuantityNameInfoProvider, Test6x )
|
|
{
|
|
{
|
|
std::string s( "GLIT" );
|
|
auto cat = RiuSummaryQuantityNameInfoProvider::instance()->identifyCategory( s );
|
|
EXPECT_TRUE( cat == RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_GROUP );
|
|
}
|
|
|
|
{
|
|
std::string s( "WSBVPROP" );
|
|
auto cat = RiuSummaryQuantityNameInfoProvider::instance()->identifyCategory( s );
|
|
EXPECT_TRUE( cat == RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL );
|
|
}
|
|
}
|
|
|
|
TEST( DISABLED_RiuSummaryQuantityNameInfoProvider, PerformanceLookup )
|
|
{
|
|
std::vector<std::string> values;
|
|
|
|
values.emplace_back( "WOPT" );
|
|
values.emplace_back( "WOPR" );
|
|
values.emplace_back( "FOPT" );
|
|
values.emplace_back( "FOPR" );
|
|
values.emplace_back( "BHP" );
|
|
values.emplace_back( "nothing" );
|
|
|
|
auto start = std::chrono::high_resolution_clock::now();
|
|
|
|
const size_t iterationCount = 10000000;
|
|
|
|
for ( size_t i = 0; i < iterationCount; i++ )
|
|
{
|
|
for ( const auto& s : values )
|
|
{
|
|
RiuSummaryQuantityNameInfoProvider::instance()->identifyCategory( s );
|
|
}
|
|
}
|
|
|
|
auto end = std::chrono::high_resolution_clock::now();
|
|
std::chrono::duration<double> diff = end - start;
|
|
std::cout << "RiuSummaryQuantityNameInfoProvider : Duration " << std::setw( 9 ) << diff.count() << " s\n";
|
|
}
|