Observed data parser: Avoid infinite loop on parsing of invalid file

This commit is contained in:
Rebecca Cox
2017-10-10 12:02:21 +02:00
parent 2799d86c01
commit 9aaf56b4ef
2 changed files with 36 additions and 4 deletions

View File

@@ -752,3 +752,37 @@ TEST(RifKeywordBasedRsmspecParserTest, TestTimeSteps)
EXPECT_EQ(day1, timeSteps[0]);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST(RifColumnBasedRsmspecParserTest, TestTooManyColumnsInFile)
{
QString data;
QTextStream out(&data);
out << "1 \n";
out << "--------------------------------------- \n";
out << "SUMMARY OF RUN BHP_THP USER FILE DATA VECTORS \n";
out << "--------------------------------------- \n";
out << "TIME WTHPH WBHPH \n";
out << "DAYS BARSA BARSA \n";
out << " \n";
out << " K-6HWG K-6HWG \n";
out << " 1 0.0 0.0 0.0 \n";
out << " 2 0.0 0.0 0.0 \n";
out << " 3 0.0 0.0 0.0 \n";
out << " 4 0.0 0.0 0.0 \n";
out << " 5 0.0 0.0 0.0 \n";
out << " 6 0.0 0.0 0.0 \n";
out << " 7 0.0 0.0 0.0 \n";
out << " 8 0.0 0.0 0.0 \n";
out << " 9 0.0 0.0 0.0 \n";
out << " 10 0.0 0.0 0.0 \n";
out << " \n";
RifColumnBasedUserDataParser parser = RifColumnBasedUserDataParser(data);
std::vector< std::vector<ColumnInfo> > tables = parser.tables();
ASSERT_EQ(tables.size(), 1);
}