mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#8425 Summary Multi Plots: Add grouping on wells, groups, ...
* #8425 Multi Graph : Support grouping on object name * #8425 Multi Graph : Improve creation of new graphs * #8425 Multi Graph : Improve default tick mark count * Handle history and non history as identical headers * #8425 Multi Graph : Increase space below a graph
This commit is contained in:
140
ApplicationLibCode/UnitTests/RiaSummaryAddressAnalyzer-Test.cpp
Normal file
140
ApplicationLibCode/UnitTests/RiaSummaryAddressAnalyzer-Test.cpp
Normal file
@@ -0,0 +1,140 @@
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include "RiaSummaryAddressAnalyzer.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RiaSummaryAddressAnalyzer, WellCompletions )
|
||||
{
|
||||
std::vector<RifEclipseSummaryAddress> addresses;
|
||||
|
||||
// Well A
|
||||
std::string wellNameA = "well_name_a";
|
||||
{
|
||||
RifEclipseSummaryAddress adr =
|
||||
RifEclipseSummaryAddress::wellCompletionAddress( "quantity_name", wellNameA, 1, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr =
|
||||
RifEclipseSummaryAddress::wellCompletionAddress( "quantity_name", wellNameA, 1, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr =
|
||||
RifEclipseSummaryAddress::wellCompletionAddress( "quantity_name", wellNameA, 5, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
|
||||
// Well B
|
||||
std::string wellNameB = "well_name_b";
|
||||
{
|
||||
RifEclipseSummaryAddress adr =
|
||||
RifEclipseSummaryAddress::wellCompletionAddress( "quantity_name", wellNameB, 5, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr =
|
||||
RifEclipseSummaryAddress::wellCompletionAddress( "quantity_name", wellNameB, 5, 4, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr =
|
||||
RifEclipseSummaryAddress::wellCompletionAddress( "quantity_name", wellNameB, 5, 4, 30 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
|
||||
RiaSummaryAddressAnalyzer analyzer;
|
||||
analyzer.appendAddresses( addresses );
|
||||
|
||||
EXPECT_EQ( 2u, analyzer.wellNames().size() );
|
||||
|
||||
auto completionsForA = analyzer.wellCompletions( wellNameA );
|
||||
EXPECT_EQ( 2u, completionsForA.size() );
|
||||
|
||||
auto completionsForB = analyzer.wellCompletions( wellNameB );
|
||||
EXPECT_EQ( 3u, completionsForB.size() );
|
||||
std::string tupleToFind = "5, 4, 30";
|
||||
EXPECT_TRUE( completionsForB.find( tupleToFind ) != completionsForB.end() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RiaSummaryAddressAnalyzer, WellSegments )
|
||||
{
|
||||
std::vector<RifEclipseSummaryAddress> addresses;
|
||||
|
||||
// Well A
|
||||
std::string wellNameA = "well_name_a";
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::wellSegmentAddress( "quantity_name", wellNameA, 1 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::wellSegmentAddress( "quantity_name", wellNameA, 1 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::wellSegmentAddress( "quantity_name", wellNameA, 30 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
|
||||
// Well B
|
||||
std::string wellNameB = "well_name_b";
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::wellSegmentAddress( "quantity_name", wellNameB, 1 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::wellSegmentAddress( "quantity_name", wellNameB, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::wellSegmentAddress( "quantity_name", wellNameB, 10 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
|
||||
RiaSummaryAddressAnalyzer analyzer;
|
||||
analyzer.appendAddresses( addresses );
|
||||
|
||||
EXPECT_EQ( 2u, analyzer.wellNames().size() );
|
||||
|
||||
auto segmentsForA = analyzer.wellSegmentNumbers( wellNameA );
|
||||
EXPECT_EQ( 2u, segmentsForA.size() );
|
||||
|
||||
auto segmentsForB = analyzer.wellSegmentNumbers( wellNameB );
|
||||
EXPECT_EQ( 3u, segmentsForB.size() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RiaSummaryAddressAnalyzer, CellBlocks )
|
||||
{
|
||||
std::vector<RifEclipseSummaryAddress> addresses;
|
||||
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::blockAddress( "quantity_name", 1, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::blockAddress( "quantity_name", 1, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::blockAddress( "quantity_name", 2, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
{
|
||||
RifEclipseSummaryAddress adr = RifEclipseSummaryAddress::blockAddress( "quantity_name", 5, 2, 3 );
|
||||
addresses.push_back( adr );
|
||||
}
|
||||
|
||||
RiaSummaryAddressAnalyzer analyzer;
|
||||
analyzer.appendAddresses( addresses );
|
||||
|
||||
auto blocks = analyzer.blocks();
|
||||
EXPECT_EQ( 3u, blocks.size() );
|
||||
}
|
||||
Reference in New Issue
Block a user