diff --git a/opm/parser/eclipse/Deck/DeckDoubleItem.cpp b/opm/parser/eclipse/Deck/DeckDoubleItem.cpp index cc44d88bc..01bb4e3f0 100644 --- a/opm/parser/eclipse/Deck/DeckDoubleItem.cpp +++ b/opm/parser/eclipse/Deck/DeckDoubleItem.cpp @@ -51,6 +51,12 @@ namespace Opm { } + void DeckDoubleItem::push_backDefault(double data) { + m_data.push_back( data ); + m_defaultApplied = true; + } + + size_t DeckDoubleItem::size() const { return m_data.size(); } diff --git a/opm/parser/eclipse/Deck/DeckDoubleItem.hpp b/opm/parser/eclipse/Deck/DeckDoubleItem.hpp index 595b159e3..3d69aa571 100644 --- a/opm/parser/eclipse/Deck/DeckDoubleItem.hpp +++ b/opm/parser/eclipse/Deck/DeckDoubleItem.hpp @@ -37,6 +37,7 @@ namespace Opm { void push_back(std::deque data , size_t items); void push_back(std::deque data); void push_back(double value); + void push_backDefault(double value); size_t size() const; private: diff --git a/opm/parser/eclipse/Deck/DeckIntItem.cpp b/opm/parser/eclipse/Deck/DeckIntItem.cpp index 87c69f5c6..5d0e8e930 100644 --- a/opm/parser/eclipse/Deck/DeckIntItem.cpp +++ b/opm/parser/eclipse/Deck/DeckIntItem.cpp @@ -45,10 +45,16 @@ namespace Opm { push_back(data, data.size()); } - void DeckIntItem::push_back(int data) { + void DeckIntItem::push_back(int data) { m_data.push_back(data); } + void DeckIntItem::push_backDefault(int data) { + m_data.push_back( data ); + m_defaultApplied = true; + } + + size_t DeckIntItem::size() const { return m_data.size(); } diff --git a/opm/parser/eclipse/Deck/DeckIntItem.hpp b/opm/parser/eclipse/Deck/DeckIntItem.hpp index 1a7e378a2..5ba1af17b 100644 --- a/opm/parser/eclipse/Deck/DeckIntItem.hpp +++ b/opm/parser/eclipse/Deck/DeckIntItem.hpp @@ -38,6 +38,7 @@ namespace Opm { void push_back(std::deque data , size_t items); void push_back(std::deque data); void push_back(int value); + void push_backDefault(int value); size_t size() const; private: diff --git a/opm/parser/eclipse/Deck/DeckStringItem.cpp b/opm/parser/eclipse/Deck/DeckStringItem.cpp index c0d81204c..27b602317 100644 --- a/opm/parser/eclipse/Deck/DeckStringItem.cpp +++ b/opm/parser/eclipse/Deck/DeckStringItem.cpp @@ -51,6 +51,13 @@ namespace Opm { m_data.push_back(data); } + + void DeckStringItem::push_backDefault(std::string data) { + m_data.push_back( data ); + m_defaultApplied = true; + } + + size_t DeckStringItem::size() const { return m_data.size(); } diff --git a/opm/parser/eclipse/Deck/DeckStringItem.hpp b/opm/parser/eclipse/Deck/DeckStringItem.hpp index b9b38ad35..7928e3820 100644 --- a/opm/parser/eclipse/Deck/DeckStringItem.hpp +++ b/opm/parser/eclipse/Deck/DeckStringItem.hpp @@ -37,6 +37,7 @@ namespace Opm { void push_back(std::deque data , size_t items); void push_back(std::deque data); void push_back(std::string value); + void push_backDefault(std::string value); size_t size() const; private: diff --git a/opm/parser/eclipse/Deck/tests/DeckDoubleItemTests.cpp b/opm/parser/eclipse/Deck/tests/DeckDoubleItemTests.cpp index 332d1617c..e29129151 100644 --- a/opm/parser/eclipse/Deck/tests/DeckDoubleItemTests.cpp +++ b/opm/parser/eclipse/Deck/tests/DeckDoubleItemTests.cpp @@ -79,3 +79,11 @@ BOOST_AUTO_TEST_CASE(sizeDouble_correct) { +BOOST_AUTO_TEST_CASE(DefaultApplied) { + DeckDoubleItem deckDoubleItem("TEST"); + BOOST_CHECK_EQUAL( false , deckDoubleItem.defaultApplied() ); + deckDoubleItem.push_backDefault( 1 ); + BOOST_CHECK_EQUAL( true , deckDoubleItem.defaultApplied() ); +} + + diff --git a/opm/parser/eclipse/Deck/tests/DeckIntItemTests.cpp b/opm/parser/eclipse/Deck/tests/DeckIntItemTests.cpp index f0834a9c4..b6206d709 100644 --- a/opm/parser/eclipse/Deck/tests/DeckIntItemTests.cpp +++ b/opm/parser/eclipse/Deck/tests/DeckIntItemTests.cpp @@ -75,7 +75,10 @@ BOOST_AUTO_TEST_CASE(size_correct) { BOOST_AUTO_TEST_CASE(DefaultApplied) { DeckIntItem deckIntItem("TEST"); BOOST_CHECK_EQUAL( false , deckIntItem.defaultApplied() ); + deckIntItem.push_backDefault( 1 ); + BOOST_CHECK_EQUAL( true , deckIntItem.defaultApplied() ); } + diff --git a/opm/parser/eclipse/Deck/tests/DeckStringItemTests.cpp b/opm/parser/eclipse/Deck/tests/DeckStringItemTests.cpp index 7812d06d1..470e445f2 100644 --- a/opm/parser/eclipse/Deck/tests/DeckStringItemTests.cpp +++ b/opm/parser/eclipse/Deck/tests/DeckStringItemTests.cpp @@ -69,3 +69,13 @@ BOOST_AUTO_TEST_CASE(size_variouspushes_sizecorrect) { deckStringItem.push_back("WELL-5"); BOOST_CHECK_EQUAL(3U, deckStringItem.size()); } + + +BOOST_AUTO_TEST_CASE(DefaultApplied) { + DeckStringItem deckStringItem("TEST"); + BOOST_CHECK_EQUAL( false , deckStringItem.defaultApplied() ); + deckStringItem.push_backDefault( "1" ); + BOOST_CHECK_EQUAL( true , deckStringItem.defaultApplied() ); +} + +