/* Copyright 2013 Statoil ASA. This file is part of the Open Porous Media project (OPM). OPM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OPM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OPM. If not, see . */ #define BOOST_TEST_MODULE ResinsightIntegrationTests #include #include #include #include #include #include #include #include #include #include using namespace Opm; inline std::string pathprefix() { return boost::unit_test::framework::master_test_suite().argv[1]; } BOOST_AUTO_TEST_CASE( test_parse ) { Parser parser(false); ParseContext parseContext; parseContext.update( ParseContext::PARSE_UNKNOWN_KEYWORD , InputError::IGNORE ); parseContext.update( ParseContext::PARSE_RANDOM_TEXT , InputError::IGNORE ); parseContext.update( ParseContext::PARSE_RANDOM_SLASH , InputError::IGNORE ); parser.addKeyword(); parser.addKeyword(); auto deck = parser.parseFile(pathprefix() + "Resinsight/DECK1.DATA" , parseContext); BOOST_CHECK( deck.hasKeyword() ); BOOST_CHECK( deck.hasKeyword() ); BOOST_CHECK_NO_THROW( GridDims{deck} ); BOOST_CHECK_NO_THROW( GridDims{deck}.getCartesianSize() ); } BOOST_AUTO_TEST_CASE( test_state ) { Parser parser(false); ParseContext parseContext; parseContext.update( ParseContext::PARSE_UNKNOWN_KEYWORD , InputError::IGNORE ); parseContext.update( ParseContext::PARSE_RANDOM_TEXT , InputError::IGNORE ); parseContext.update( ParseContext::PARSE_RANDOM_SLASH , InputError::IGNORE ); parser.addKeyword(); parser.addKeyword(); parser.addKeyword(); auto deck = parser.parseFile(pathprefix() + "Resinsight/DECK1.DATA" , parseContext); GridDims grid(deck); GRIDSection gsec(deck); FaultCollection faults(gsec, grid); BOOST_CHECK_EQUAL( grid.getNX(), 20U); BOOST_CHECK_EQUAL( grid.getNY(), 20U); BOOST_CHECK_EQUAL( grid.getNZ(), 10U); BOOST_CHECK_EQUAL( faults.size(), 2U); }