DeckKeyword - slash termination correctly initialized

This commit is contained in:
Joakim Hove 2021-10-19 13:26:42 +02:00
parent a22458a592
commit 22edbe79ab
3 changed files with 2 additions and 11 deletions

View File

@ -34,7 +34,7 @@ namespace Opm {
DeckKeyword::DeckKeyword(const ParserKeyword& parserKeyword) :
m_keywordName(parserKeyword.getName()),
m_isDataKeyword(false),
m_slashTerminated(true)
m_slashTerminated(!parserKeyword.hasFixedSize())
{
}

View File

@ -766,7 +766,7 @@ void set_dimensions( ParserItem& item,
bool ParserKeyword::hasFixedSize() const {
auto size_type = this->keyword_size.size_type();
return (size_type == FIXED || size_type == FIXED_CODE);
return (size_type == FIXED || size_type == FIXED_CODE || this->m_records.empty());
}
enum ParserKeywordSizeEnum ParserKeyword::getSizeType() const {

View File

@ -1590,20 +1590,12 @@ BOOST_AUTO_TEST_CASE(getFixedSize_sizeObjectHasFixedSize_sizeReturned) {
}
BOOST_AUTO_TEST_CASE(getFixedSize_sizeObjectDoesNotHaveFixedSizeObjectSet_ExceptionThrown) {
const auto& parserKeyword = createDynamicSized("JA");
BOOST_CHECK_THROW(parserKeyword.getFixedSize(), std::logic_error);
}
BOOST_AUTO_TEST_CASE(hasFixedSize_hasFixedSizeObject_returnstrue) {
const auto& parserKeyword = createFixedSized("JA", (size_t) 2);
BOOST_CHECK(parserKeyword.hasFixedSize());
}
BOOST_AUTO_TEST_CASE(hasFixedSize_sizeObjectDoesNotHaveFixedSize_returnsfalse) {
const auto& parserKeyword = createDynamicSized("JA");
BOOST_CHECK(!parserKeyword.hasFixedSize());
}
/******/
/* Tables: */
@ -1615,7 +1607,6 @@ BOOST_AUTO_TEST_CASE(DefaultIsNot_TableKeyword) {
BOOST_AUTO_TEST_CASE(ConstructorIsTableCollection) {
auto parserKeyword = createTable("JA" , "TABDIMS" , "NTPVT" , true);
BOOST_CHECK(parserKeyword.isTableCollection());
BOOST_CHECK(!parserKeyword.hasFixedSize());
auto keyword_size = parserKeyword.getKeywordSize();
BOOST_CHECK_EQUAL( parserKeyword.getSizeType() , OTHER_KEYWORD_IN_DECK);