mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#11430 Add trimming of header words to identify CSV as line based
This commit is contained in:
parent
2862de63a6
commit
68e423f1b8
@ -288,7 +288,9 @@ RifCsvUserDataParser::CsvLayout RifCsvUserDataParser::determineCsvLayout()
|
||||
{
|
||||
firstLine = dataStream->readLine();
|
||||
if ( firstLine.isEmpty() ) continue;
|
||||
headers = firstLine.split( ';' );
|
||||
|
||||
headers = RifFileParseTools::splitLineAndTrim( firstLine, ";" );
|
||||
|
||||
if ( headers.size() < 3 || headers.size() > 5 ) continue;
|
||||
break;
|
||||
}
|
||||
|
@ -442,6 +442,74 @@ DAYS;BARS;BARS;BARS
|
||||
ASSERT_EQ( column1->values.front(), 456.78 );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RifColumnBasedAsciiParserTest, LineBasedWithErrorCsv )
|
||||
{
|
||||
QString data = R"(
|
||||
DATE ;VECTOR ;VALUE ;ERROR
|
||||
2018-04-16 ;FOPT ;12.5 ;0.45
|
||||
2018-04-18 ;FOPT ;8.6 ;0.31
|
||||
2018-04-18 ;WOPT:BH-1 ;0.1 ;0.2
|
||||
)";
|
||||
|
||||
QTextStream out( &data );
|
||||
|
||||
RifCsvUserDataPastedTextParser parser = RifCsvUserDataPastedTextParser( data );
|
||||
parser.parse( {} );
|
||||
|
||||
auto tableData = parser.tableData();
|
||||
auto columnInfos = tableData.columnInfos();
|
||||
|
||||
ASSERT_EQ( columnInfos.size(), 4 );
|
||||
|
||||
// FOPT
|
||||
ASSERT_EQ( columnInfos[0].values.size(), 2 );
|
||||
ASSERT_EQ( columnInfos[0].dateTimeValues.size(), 2 );
|
||||
|
||||
// FOPT_ERR
|
||||
ASSERT_EQ( columnInfos[1].values.size(), 2 );
|
||||
ASSERT_EQ( columnInfos[1].dateTimeValues.size(), 2 );
|
||||
|
||||
// WOPT:BH-1
|
||||
ASSERT_EQ( columnInfos[2].values.size(), 1 );
|
||||
ASSERT_EQ( columnInfos[2].dateTimeValues.size(), 1 );
|
||||
|
||||
// WOPT:BH-1_ERR
|
||||
ASSERT_EQ( columnInfos[3].values.size(), 1 );
|
||||
ASSERT_EQ( columnInfos[3].dateTimeValues.size(), 1 );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RifColumnBasedAsciiParserTest, LineBasedCsv )
|
||||
{
|
||||
QString data = R"(
|
||||
DATE ;VECTOR ;VALUE
|
||||
2018-04-16 ;FOPT ;12.5
|
||||
2018-04-18 ;FOPT ;8.6
|
||||
2018-04-18 ;WOPT:BH-1 ;0.1
|
||||
)";
|
||||
|
||||
QTextStream out( &data );
|
||||
|
||||
RifCsvUserDataPastedTextParser parser = RifCsvUserDataPastedTextParser( data );
|
||||
parser.parse( {} );
|
||||
|
||||
auto tableData = parser.tableData();
|
||||
auto columnInfos = tableData.columnInfos();
|
||||
|
||||
ASSERT_EQ( columnInfos.size(), 2 );
|
||||
|
||||
ASSERT_EQ( columnInfos[0].values.size(), 2 );
|
||||
ASSERT_EQ( columnInfos[0].dateTimeValues.size(), 2 );
|
||||
|
||||
ASSERT_EQ( columnInfos[1].values.size(), 1 );
|
||||
ASSERT_EQ( columnInfos[1].dateTimeValues.size(), 1 );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user