#6481 Summary Plot: Detect cumulative fluid components

This commit is contained in:
Magne Sjaastad
2020-10-01 15:48:53 +02:00
parent 1517c6e32a
commit c23c735be3
3 changed files with 40 additions and 3 deletions

View File

@@ -871,9 +871,15 @@ bool RifEclipseSummaryAddress::isValidEclipseCategory() const
QString RifEclipseSummaryAddress::baseQuantityName( const QString& quantityName )
{
QString qBaseName = quantityName;
if ( qBaseName.size() == 8 ) qBaseName.chop( 3 );
while ( qBaseName.endsWith( "_" ) )
qBaseName.chop( 1 );
auto indexToUnderScore = qBaseName.indexOf( "_" );
if ( indexToUnderScore > 0 )
{
qBaseName = qBaseName.left( indexToUnderScore );
}
return qBaseName;
}

View File

@@ -203,9 +203,10 @@ public:
bool hasAccumulatedData() const;
static QString baseQuantityName( const QString& quantityName );
private:
bool isValidEclipseCategory() const;
static QString baseQuantityName( const QString& quantityName );
static std::tuple<int32_t, int32_t, int32_t> ijkTupleFromUiText( const std::string& s );
std::string formatUiTextRegionToRegion() const;
std::pair<int16_t, int16_t> regionToRegionPairFromUiText( const std::string& s );

View File

@@ -2,6 +2,7 @@
#include "RifEclipseSummaryAddress.h"
#include <QString>
#include <string>
//--------------------------------------------------------------------------------------------------
@@ -293,3 +294,32 @@ TEST( RifEclipseSummaryAddressTest, TestEclipseAddressRegToRegParsing )
EXPECT_EQ( 456, addr.regionNumber2() );
EXPECT_TRUE( !addr.isErrorResult() );
}
TEST( RifEclipseSummaryAddressTest, TestQuantityNameManipulations )
{
{
auto s = RifEclipseSummaryAddress::baseQuantityName( "FOPT" );
EXPECT_EQ( "FOPT", s.toStdString() );
}
{
auto s = RifEclipseSummaryAddress::baseQuantityName( "FOPT_1" );
EXPECT_EQ( "FOPT", s.toStdString() );
}
{
auto s = RifEclipseSummaryAddress::baseQuantityName( "FOPR" );
EXPECT_EQ( "FOPR", s.toStdString() );
}
{
auto s = RifEclipseSummaryAddress::baseQuantityName( "FOPR_1" );
EXPECT_EQ( "FOPR", s.toStdString() );
}
{
// https://github.com/OPM/ResInsight/issues/6481
auto s = RifEclipseSummaryAddress::baseQuantityName( "FCMIT_1" );
EXPECT_EQ( "FCMIT", s.toStdString() );
}
}