From 38867de28cc4137800515a031f1973682e56c73c Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Tue, 15 Jul 2014 16:39:32 +0200 Subject: [PATCH] EclipseState: extend test to check the TransMult class --- .../EclipseState/tests/EclipseStateTests.cpp | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/opm/parser/eclipse/EclipseState/tests/EclipseStateTests.cpp b/opm/parser/eclipse/EclipseState/tests/EclipseStateTests.cpp index f7fb0c91e..cd40babeb 100644 --- a/opm/parser/eclipse/EclipseState/tests/EclipseStateTests.cpp +++ b/opm/parser/eclipse/EclipseState/tests/EclipseStateTests.cpp @@ -85,7 +85,40 @@ static DeckPtr createDeck() { return parser->parseString(deckData) ; } +static DeckPtr createDeckNoFaults() { + const char *deckData = + "RUNSPEC\n" + "\n" + "DIMENS\n" + " 10 10 10 /\n" + "GRID\n" + "DX\n" + "1000*0.25 /\n" + "DYV\n" + "10*0.25 /\n" + "DZ\n" + "1000*0.25 /\n" + "TOPS\n" + "1000*0.25 /\n" + "-- multiply one layer for each face\n" + "MULTX\n" + " 100*1 100*10 800*1 /\n" + "MULTX-\n" + " 200*1 100*11 700*1 /\n" + "MULTY\n" + " 300*1 100*12 600*1 /\n" + "MULTY-\n" + " 400*1 100*13 500*1 /\n" + "MULTZ\n" + " 500*1 100*14 400*1 /\n" + "MULTZ-\n" + " 600*1 100*15 300*1 /\n" + "SCHEDULE\n" + "\n"; + ParserPtr parser(new Parser()); + return parser->parseString(deckData) ; +} BOOST_AUTO_TEST_CASE(CreatSchedule) { DeckPtr deck = createDeck(); @@ -182,3 +215,45 @@ BOOST_AUTO_TEST_CASE(GetFaults) { BOOST_CHECK_EQUAL( transMult->getMultiplier(4 , 3 , 0 , FaceDir::ZPlus) , 1.00 ); } + +BOOST_AUTO_TEST_CASE(FaceTransMults) { + DeckPtr deck = createDeckNoFaults(); + EclipseState state(deck); + std::shared_ptr transMult = state.getTransMult(); + + for (int i = 0; i < 10; ++ i) { + for (int j = 0; j < 10; ++ j) { + for (int k = 0; k < 10; ++ k) { + if (k == 1) + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::XPlus), 10.0); + else + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::XPlus), 1.0); + + if (k == 2) + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::XMinus), 11.0); + else + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::XMinus), 1.0); + + if (k == 3) + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::YPlus), 12.0); + else + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::YPlus), 1.0); + + if (k == 4) + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::YMinus), 13.0); + else + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::YMinus), 1.0); + + if (k == 5) + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::ZPlus), 14.0); + else + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::ZPlus), 1.0); + + if (k == 6) + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::ZMinus), 15.0); + else + BOOST_CHECK_EQUAL(transMult->getMultiplier(i, j, k, FaceDir::ZMinus), 1.0); + } + } + } +}