From 96f0c2fbdd950508111bf9c7a63104d67e56d53c Mon Sep 17 00:00:00 2001 From: Jostein Alvestad Date: Thu, 13 May 2021 21:54:59 +0200 Subject: [PATCH] further changes unit tests --- tests/test_AggregateWListData.cpp | 543 +++++++++++++----------------- 1 file changed, 241 insertions(+), 302 deletions(-) diff --git a/tests/test_AggregateWListData.cpp b/tests/test_AggregateWListData.cpp index 8da352c24..e01d11bf0 100644 --- a/tests/test_AggregateWListData.cpp +++ b/tests/test_AggregateWListData.cpp @@ -124,332 +124,271 @@ BOOST_AUTO_TEST_CASE (Constructor) Opm::EclipseState es = simCase.es; Opm::Schedule sched = simCase.sched; Opm::EclipseGrid grid = simCase.grid; - const auto& units = es.getUnits(); // Report Step 2 - std::size_t rptStep = 0; - std::size_t rptStepP1 = 0; - rptStep = std::size_t{2}; - rptStepP1 = rptStep + 1; - double secs_elapsed = 3.1536E07; - const auto ih = Opm::RestartIO::Helpers:: - createInteHead(es, grid, sched, secs_elapsed, - rptStep, rptStepP1, rptStep); + { + const auto rptStep = std::size_t {2}; + double secs_elapsed = 3.1536E07; + const auto ih + = Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep); - auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); - wListData.captureDeclaredWListData(sched, rptStep, ih); + auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); + wListData.captureDeclaredWListData(sched, rptStep, ih); - BOOST_CHECK_EQUAL(static_cast(wListData.getIWls().size()), ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]); - BOOST_CHECK_EQUAL(static_cast(wListData.getZWls().size()), ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]); + BOOST_CHECK_EQUAL(static_cast(wListData.getIWls().size()), + ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]); + BOOST_CHECK_EQUAL(static_cast(wListData.getZWls().size()), + ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]); - //IWls-parameters - auto iWLs = wListData.getIWls(); - auto start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 2); - BOOST_CHECK_EQUAL(iWLs[start + 1], 2); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + // IWls-parameters + auto iWLs = wListData.getIWls(); + auto start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 2); + BOOST_CHECK_EQUAL(iWLs[start + 1], 2); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 3); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 3); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 1); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 1); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - //ZWLs-parameters - const std::string blank8 = " "; + // ZWLs-parameters + const std::string blank8 = " "; - auto zWLs = wListData.getZWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + auto zWLs = wListData.getZWls(); + start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - // Report Step 3 - rptStep = std::size_t{3}; - rptStepP1 = rptStep + 1; - secs_elapsed = 3.1536E07; - ih = Opm::RestartIO::Helpers:: - createInteHead(es, grid, sched, secs_elapsed, - rptStep, rptStepP1, rptStep); - - wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); - wListData.captureDeclaredWListData(sched, rptStep, ih); - //IWls-parameters - iWLs = wListData.getIWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 2); - BOOST_CHECK_EQUAL(iWLs[start + 1], 2); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 3); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 1); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - //ZWLs-parameters - zWLs = wListData.getZWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - // Report Step 4 - rptStep = std::size_t{4}; - secs_elapsed = 3.1536E07; - ih = Opm::RestartIO::Helpers:: - createInteHead(es, grid, sched, secs_elapsed, - rptStep, rptStep+1, rptStep); - - wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); - wListData.captureDeclaredWListData(sched, rptStep, ih); - - - //IWls-parameters - iWLs = wListData.getIWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 2); - BOOST_CHECK_EQUAL(iWLs[start + 1], 2); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 3); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 1); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - //ZWLs-parameters - const std::string blank8 = " "; - - const auto& zWLs = wListData.getZWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - - // Report Step 6 - rptStep = std::size_t{6}; - secs_elapsed = 3.1536E07; - ih = Opm::RestartIO::Helpers:: - createInteHead(es, grid, sched, secs_elapsed, - rptStep, rptStep+1, rptStep); - - wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); - wListData.captureDeclaredWListData(sched, rptStep, ih); - - //IWls-parameters - iWLs = wListData.getIWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 2); - BOOST_CHECK_EQUAL(iWLs[start + 1], 2); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 3); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 1); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - - //ZWLs-parameters - const std::string blank8 = " "; - - const auto& zWLs = wListData.getZWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + } // Report Step 8 - rptStep = std::size_t{8}; - secs_elapsed = 3.1536E07; - ih = Opm::RestartIO::Helpers:: - createInteHead(es, grid, sched, secs_elapsed, - rptStep, rptStep+1, rptStep); + { + const auto rptStep = std::size_t {8}; + double secs_elapsed = 3.1536E07; + const auto ih + = Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep); - wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); - wListData.captureDeclaredWListData(sched, rptStep, ih); + auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); + wListData.captureDeclaredWListData(sched, rptStep, ih); - //IWls-parameters - iWLs = wListData.getIWls(); - auto start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 2); - BOOST_CHECK_EQUAL(iWLs[start + 1], 2); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + // IWls-parameters + auto iWLs = wListData.getIWls(); + auto start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 2); + BOOST_CHECK_EQUAL(iWLs[start + 1], 2); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 3); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 3); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 1); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 1); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(iWLs[start + 0], 1); - BOOST_CHECK_EQUAL(iWLs[start + 1], 0); - BOOST_CHECK_EQUAL(iWLs[start + 2], 0); - BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); - //ZWLs-parameters - zWLs = wListData.getZWls(); - start = 0*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + // ZWLs-parameters + const std::string blank8 = " "; - start = 1*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + auto zWLs = wListData.getZWls(); + start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - start = 2*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); - start = 3*ih[VI::intehead::MXWLSTPRWELL]; - BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); - BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); - BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + } + + // Report Step 8 + { + const auto rptStep = std::size_t {8}; + double secs_elapsed = 3.1536E07; + const auto ih + = Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep); + + auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); + wListData.captureDeclaredWListData(sched, rptStep, ih); + + // IWls-parameters + auto iWLs = wListData.getIWls(); + auto start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 2); + BOOST_CHECK_EQUAL(iWLs[start + 1], 2); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 3); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 1); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + // ZWLs-parameters + const std::string blank8 = " "; + + auto zWLs = wListData.getZWls(); + start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + } + + // Report Step 8 + { + const auto rptStep = std::size_t {8}; + double secs_elapsed = 3.1536E07; + const auto ih + = Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep); + + auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); + wListData.captureDeclaredWListData(sched, rptStep, ih); + + // IWls-parameters + auto iWLs = wListData.getIWls(); + auto start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 2); + BOOST_CHECK_EQUAL(iWLs[start + 1], 2); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 3); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 1); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(iWLs[start + 0], 1); + BOOST_CHECK_EQUAL(iWLs[start + 1], 0); + BOOST_CHECK_EQUAL(iWLs[start + 2], 0); + BOOST_CHECK_EQUAL(iWLs[start + 3], 0); + + // ZWLs-parameters + const std::string blank8 = " "; + + auto zWLs = wListData.getZWls(); + start = 0 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + + start = 1 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + + start = 2 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + + start = 3 * ih[VI::intehead::MXWLSTPRWELL]; + BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); + BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); + BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); + } }