diff --git a/tests/parser/EclipseStateTests.cpp b/tests/parser/EclipseStateTests.cpp index 945864d46..a025efb5e 100644 --- a/tests/parser/EclipseStateTests.cpp +++ b/tests/parser/EclipseStateTests.cpp @@ -463,199 +463,6 @@ BOOST_AUTO_TEST_CASE(TestIOConfigBaseName) { BOOST_CHECK_EQUAL(io2.getOutputDir(), "."); } -BOOST_AUTO_TEST_CASE(TestIOConfigCreation) { - const char * deckData = - "RUNSPEC\n" - "GRIDOPTS\n" - " 'YES' 10 /" - "\n" - "DIMENS\n" - " 10 10 10 /\n" - "GRID\n" - "DX\n" - "1000*0.25 /\n" - "DY\n" - "1000*0.25 /\n" - "DZ\n" - "1000*0.25 /\n" - "TOPS\n" - "100*0.25 /\n" - "PORO\n" - " 1000*0.15 /\n" - "START -- 0 \n" - "19 JUN 2007 / \n" - "SCHEDULE\n" - "DATES -- 1\n" - " 10 OKT 2008 / \n" - "/\n" - "RPTRST\n" - "BASIC=3 FREQ=2 /\n" - "DATES -- 2\n" - " 20 JAN 2010 / \n" - "/\n" - "DATES -- 3\n" - " 20 JAN 2011 / \n" - "/\n"; - - - Parser parser{}; - auto deck = parser.parseString(deckData) ; - RestartConfig rstConfig(deck, restart_info, {}); - - BOOST_CHECK_EQUAL(false, rstConfig.getWriteRestartFile(0)); - BOOST_CHECK_EQUAL(false, rstConfig.getWriteRestartFile(1)); - BOOST_CHECK_EQUAL(true, rstConfig.getWriteRestartFile(2)); - BOOST_CHECK_EQUAL(false, rstConfig.getWriteRestartFile(3)); -} - - -BOOST_AUTO_TEST_CASE(TestIOConfigCreationWithSolutionRPTRST) { - const char * deckData = - "RUNSPEC\n" - "GRIDOPTS\n" - " 'YES' 10 /" - "\n" - "DIMENS\n" - " 10 10 10 /\n" - "GRID\n" - "DX\n" - "1000*0.25 /\n" - "DY\n" - "1000*0.25 /\n" - "DZ\n" - "1000*0.25 /\n" - "TOPS\n" - "100*0.25 /\n" - "PORO\n" - " 1000*0.15 /\n" - "SOLUTION\n" - "RPTRST\n" - "BASIC=1/\n" - "RPTRST\n" - "BASIC=3 FREQ=5 /\n" - "GRID\n" - "START -- 0 \n" - "19 JUN 2007 / \n" - "SCHEDULE\n" - "DATES -- 1\n" - " 10 OKT 2008 / \n" - "/\n" - "DATES -- 2\n" - " 20 JAN 2010 / \n" - "/\n" - "RPTRST\n" - "BASIC=3 FREQ=2 /\n" - "DATES -- 3\n" - " 20 JAN 2011 / \n" - "/\n"; - - Parser parser; - auto deck = parser.parseString(deckData) ; - RestartConfig rstConfig(deck, restart_info, {}); - - BOOST_CHECK_EQUAL(true , rstConfig.getWriteRestartFile(0)); - BOOST_CHECK_EQUAL(false , rstConfig.getWriteRestartFile(1)); - BOOST_CHECK_EQUAL(false , rstConfig.getWriteRestartFile(2)); - BOOST_CHECK_EQUAL(false , rstConfig.getWriteRestartFile(3)); -} - - - -BOOST_AUTO_TEST_CASE(TestIOConfigCreationWithSolutionRPTSOL) { - const char *deckData = - "RUNSPEC\n" - "DIMENS\n" - " 10 10 10 /\n" - "GRID\n" - "DX\n" - "1000*0.25 /\n" - "DY\n" - "1000*0.25 /\n" - "DZ\n" - "1000*0.25 /\n" - "TOPS\n" - "100*0.25 /\n" - "PORO\n" - " 1000*0.15 /\n" - "SOLUTION\n" - "RPTSOL\n" - "RESTART=2\n" - "/\n" - "START -- 0 \n" - "19 JUN 2007 / \n" - "SCHEDULE\n" - "DATES -- 1\n" - " 10 OKT 2008 / \n" - "/\n" - "RPTRST\n" - "BASIC=3 FREQ=3\n" - "/\n" - "DATES -- 2\n" - " 20 JAN 2010 / \n" - "/\n" - "DATES -- 3\n" - " 20 FEB 2010 / \n" - "/\n" - "RPTSCHED\n" - "RESTART=1\n" - "/\n"; - - const char *deckData2 = - "RUNSPEC\n" - "DIMENS\n" - " 10 10 10 /\n" - "GRID\n" - "DX\n" - "1000*0.25 /\n" - "DY\n" - "1000*0.25 /\n" - "DZ\n" - "1000*0.25 /\n" - "TOPS\n" - "100*0.25 /\n" - "PORO\n" - " 1000*0.15 /\n" - "SOLUTION\n" - "RPTSOL\n" - "0 0 0 0 0 0 2\n" - "/\n" - "START -- 0 \n" - "19 JUN 2007 / \n" - "SCHEDULE\n" - "DATES -- 1\n" - " 10 OKT 2008 / \n" - "/\n" - "RPTRST\n" - "BASIC=3 FREQ=3\n" - "/\n" - "DATES -- 2\n" - " 20 JAN 2010 / \n" - "/\n" - "DATES -- 3\n" - " 20 FEB 2010 / \n" - "/\n" - "RPTSCHED\n" - "RESTART=1\n" - "/\n"; - - - Parser parser; - - { //mnemnonics - auto deck = parser.parseString(deckData) ; - RestartConfig rstConfig(deck, restart_info, {}); - - BOOST_CHECK_EQUAL(true, rstConfig.getWriteRestartFile(0)); - } - - { //old fashion integer mnemonics - auto deck = parser.parseString(deckData2) ; - RestartConfig rstConfig(deck, restart_info, {}); - - BOOST_CHECK_EQUAL(true, rstConfig.getWriteRestartFile(0)); - } -} - BOOST_AUTO_TEST_CASE(TestBox) { const char * regionData = diff --git a/tests/parser/RestartConfigTests.cpp b/tests/parser/RestartConfigTests.cpp index 5d28ef478..3bc882220 100644 --- a/tests/parser/RestartConfigTests.cpp +++ b/tests/parser/RestartConfigTests.cpp @@ -83,6 +83,123 @@ Schedule make_schedule(std::string sched_input, bool add_grid = true) { EclipseState es(deck); return Schedule(deck, es); } +BOOST_AUTO_TEST_CASE(TestIOConfigCreation) { + const std::string deckData = R"( +SCHEDULE +DATES -- 1 + 10 OKT 2008 / +/ +RPTRST +BASIC=3 FREQ=2 / +DATES -- 2 + 20 JAN 2010 / +/ +DATES -- 3 + 20 JAN 2011 / +/ +)"; + + + auto sched = make_schedule(deckData); + + BOOST_CHECK_EQUAL(false, sched.write_rst_file(0)); + BOOST_CHECK_EQUAL(false, sched.write_rst_file(1)); + BOOST_CHECK_EQUAL(true, sched.write_rst_file(2)); + BOOST_CHECK_EQUAL(false, sched.write_rst_file(3)); +} + + +BOOST_AUTO_TEST_CASE(TestIOConfigCreationWithSolutionRPTRST) { + const std::string deckData = R"( +SOLUTION + +RPTRST +BASIC=1/ + +RPTRST +BASIC=3 FREQ=5 / + +SCHEDULE +DATES -- 1 + 10 OKT 2008 / +/ +DATES -- 2 + 20 JAN 2010 / +/ +RPTRST +BASIC=3 FREQ=2 / +DATES -- 3 + 20 JAN 2011 / +/ +)"; + + auto sched = make_schedule(deckData); + + BOOST_CHECK_EQUAL(true , sched.write_rst_file(0)); + BOOST_CHECK_EQUAL(false , sched.write_rst_file(1)); + BOOST_CHECK_EQUAL(false , sched.write_rst_file(2)); + BOOST_CHECK_EQUAL(false , sched.write_rst_file(3)); +} + + + +BOOST_AUTO_TEST_CASE(TestIOConfigCreationWithSolutionRPTSOL) { + const std::string deckData = R"( +SOLUTION + +RPTSOL +RESTART=2 +/ + +SCHEDULE +DATES -- 1 + 10 OKT 2008 / +/ +RPTRST +BASIC=3 FREQ=3 +/ +DATES -- 2 + 20 JAN 2010 / +/ +DATES -- 3 + 20 FEB 2010 / +/ +RPTSCHED +RESTART=1 +/ +)"; + + const std::string deckData2 = R"( +SOLUTION + +RPTSOL +0 0 0 0 0 0 2 +/ + +SCHEDULE +DATES -- 1 + 10 OKT 2008 / +/ +RPTRST +BASIC=3 FREQ=3 +/ +DATES -- 2 + 20 JAN 2010 / +/ +DATES -- 3 + 20 FEB 2010 / +/ +RPTSCHED +RESTART=1 +/ +)"; + + auto sched1 = make_schedule(deckData); + auto sched2 = make_schedule(deckData2); + + BOOST_CHECK_EQUAL(true, sched1.write_rst_file(0)); + BOOST_CHECK_EQUAL(true, sched2.write_rst_file(0)); +} @@ -1338,3 +1455,4 @@ TSTEP BOOST_CHECK( sched.write_rst_file( 12 ) ); } +