Improve detection of special *FIP* property names

Make sure RFIP* and SFIP* are not treated as category results
This commit is contained in:
Magne Sjaastad
2024-09-24 08:43:22 +02:00
parent de573a83cc
commit 12ae4dbaaa
3 changed files with 63 additions and 4 deletions

View File

@@ -102,10 +102,12 @@ bool RiaResultNames::isFlowResultWithBothPosAndNegValues( const QString& resultN
//--------------------------------------------------------------------------------------------------
bool RiaResultNames::isCategoryResult( const QString& resultName )
{
// Check for special FIP* results. This will also match statistics results FIPOIL_MEAN, FIPOIL_P90, ...
if ( resultName.startsWith( "FIPOIL", Qt::CaseInsensitive ) ) return false;
if ( resultName.startsWith( "FIPGAS", Qt::CaseInsensitive ) ) return false;
if ( resultName.startsWith( "FIPWAT", Qt::CaseInsensitive ) ) return false;
// Identify and mark some FIP-results as non-category result.
// This includes statistics results FIPOIL_MEAN, FIPOIL_P90, SFIP* and RFIP*.
if ( resultName.contains( "FIPOIL", Qt::CaseInsensitive ) ) return false;
if ( resultName.contains( "FIPGAS", Qt::CaseInsensitive ) ) return false;
if ( resultName.contains( "FIPWAT", Qt::CaseInsensitive ) ) return false;
if ( resultName.endsWith( "NUM", Qt::CaseInsensitive ) ) return true;
if ( resultName.startsWith( "FIP", Qt::CaseInsensitive ) ) return true;

View File

@@ -105,6 +105,7 @@ set(SOURCE_UNITTEST_FILES
${CMAKE_CURRENT_LIST_DIR}/RifParquetReader-Test.cpp
${CMAKE_CURRENT_LIST_DIR}/RifOsduWellPathReader-Test.cpp
${CMAKE_CURRENT_LIST_DIR}/RigVfpTables-Test.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaResultName-Test.cpp
)
if(RESINSIGHT_ENABLE_GRPC)

View File

@@ -0,0 +1,56 @@
#include "gtest/gtest.h"
#include "RiaResultNames.h"
TEST( RiaResultNames, TestIsCategoryResult )
{
// Test for non-category result names
{
QString resultVariable = "FIPOIL";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_FALSE( result );
}
{
QString resultVariable = "FIPWAT";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_FALSE( result );
}
{
QString resultVariable = "FIPGAS";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_FALSE( result );
}
{
QString resultVariable = "SFIPGAS";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_FALSE( result );
}
{
QString resultVariable = "RFIPGAS";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_FALSE( result );
}
{
QString resultVariable = "RFIPGAS_P90";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_FALSE( result );
}
// Test for category result names
{
QString resultVariable = "MYNUM";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_TRUE( result );
}
{
QString resultVariable = "FIPMYPROP";
bool result = RiaResultNames::isCategoryResult( resultVariable );
EXPECT_TRUE( result );
}
}