use strong enum for FIP output fields

This commit is contained in:
Arne Morten Kvarving 2023-11-09 10:38:20 +01:00
parent 3f08071eae
commit 47122446e6
3 changed files with 145 additions and 136 deletions

View File

@ -32,7 +32,7 @@ class RPTConfig;
class FIPConfig { class FIPConfig {
public: public:
//! \brief Enumeration of FIP report outputs. //! \brief Enumeration of FIP report outputs.
enum FIPOutputField { enum class OutputField {
FIELD = 0, //!< Whole field FIELD = 0, //!< Whole field
FIPNUM = 1, //!< FIPNUM regions FIPNUM = 1, //!< FIPNUM regions
FIP = 2, //!< FIP defined regions FIP = 2, //!< FIP defined regions
@ -76,7 +76,7 @@ public:
} }
//! \brief Query if FIP output is enabled for a given field. //! \brief Query if FIP output is enabled for a given field.
bool output(FIPOutputField field) const; bool output(OutputField field) const;
//! \brief Comparison operator. //! \brief Comparison operator.
bool operator==(const FIPConfig& rhs) const; bool operator==(const FIPConfig& rhs) const;
@ -85,7 +85,8 @@ private:
//! \brief Initialize flags based on mnemonics in a RPTConfig instance. //! \brief Initialize flags based on mnemonics in a RPTConfig instance.
void parseRPT(const RPTConfig& rptConfig); void parseRPT(const RPTConfig& rptConfig);
std::bitset<NUM_FIP_REPORT> m_flags = {}; //!< Bitset holding enable status for fields //! \brief Bitset holding enable status for fields
std::bitset<static_cast<int>(OutputField::NUM_FIP_REPORT)> m_flags = {};
}; };
} //namespace Opm } //namespace Opm

View File

@ -61,23 +61,31 @@ void FIPConfig::parseRPT(const RPTConfig& rptConfig)
for (const auto& mnemonic : rptConfig) { for (const auto& mnemonic : rptConfig) {
if (mnemonic.first == "FIP") { if (mnemonic.first == "FIP") {
parseFlags({FIELD, FIPNUM, FIP}, mnemonic.second); parseFlags({static_cast<int>(OutputField::FIELD),
static_cast<int>(OutputField::FIPNUM),
static_cast<int>(OutputField::FIP)}, mnemonic.second);
} else if (mnemonic.first == "FIPFOAM") { } else if (mnemonic.first == "FIPFOAM") {
parseFlags({FOAM_FIELD, FOAM_REGION}, mnemonic.second); parseFlags({static_cast<int>(OutputField::FOAM_FIELD),
static_cast<int>(OutputField::FOAM_REGION)}, mnemonic.second);
} else if (mnemonic.first == "FIPPLY") { } else if (mnemonic.first == "FIPPLY") {
parseFlags({POLYMER_FIELD, POLYMER_REGION}, mnemonic.second); parseFlags({static_cast<int>(OutputField::POLYMER_FIELD),
static_cast<int>(OutputField::POLYMER_REGION)}, mnemonic.second);
} else if (mnemonic.first == "FIPSOL") { } else if (mnemonic.first == "FIPSOL") {
parseFlags({SOLVENT_FIELD, SOLVENT_REGION}, mnemonic.second); parseFlags({static_cast<int>(OutputField::SOLVENT_FIELD),
static_cast<int>(OutputField::SOLVENT_REGION)}, mnemonic.second);
} else if (mnemonic.first == "FIPSURF") { } else if (mnemonic.first == "FIPSURF") {
parseFlags({SURF_FIELD, SURF_REGION}, mnemonic.second); parseFlags({static_cast<int>(OutputField::SURF_FIELD),
static_cast<int>(OutputField::SURF_REGION)}, mnemonic.second);
} else if (mnemonic.first == "FIPHEAT" || mnemonic.first == "FIPTEMP") { } else if (mnemonic.first == "FIPHEAT" || mnemonic.first == "FIPTEMP") {
parseFlags({TEMPERATURE_FIELD, TEMPERATURE_REGION}, mnemonic.second); parseFlags({static_cast<int>(OutputField::TEMPERATURE_FIELD),
static_cast<int>(OutputField::TEMPERATURE_REGION)}, mnemonic.second);
} else if (mnemonic.first == "FIPTR") { } else if (mnemonic.first == "FIPTR") {
parseFlags({TRACER_FIELD, TRACER_REGION}, mnemonic.second); parseFlags({static_cast<int>(OutputField::TRACER_FIELD),
static_cast<int>(OutputField::TRACER_REGION)}, mnemonic.second);
} else if (mnemonic.first == "FIPRESV") { } else if (mnemonic.first == "FIPRESV") {
m_flags.set(RESV); m_flags.set(static_cast<int>(OutputField::RESV));
} else if (mnemonic.first == "FIPVE") { } else if (mnemonic.first == "FIPVE") {
m_flags.set(VE); m_flags.set(static_cast<int>(OutputField::VE));
} }
} }
} }
@ -85,16 +93,16 @@ void FIPConfig::parseRPT(const RPTConfig& rptConfig)
FIPConfig FIPConfig::serializationTestObject() FIPConfig FIPConfig::serializationTestObject()
{ {
FIPConfig result; FIPConfig result;
result.m_flags.set(FIELD); result.m_flags.set(static_cast<int>(OutputField::FIELD));
result.m_flags.set(FIP); result.m_flags.set(static_cast<int>(OutputField::FIP));
result.m_flags.set(RESV); result.m_flags.set(static_cast<int>(OutputField::RESV));
return result; return result;
} }
bool FIPConfig::output(FIPOutputField field) const bool FIPConfig::output(OutputField field) const
{ {
return m_flags.test(field); return m_flags.test(static_cast<int>(field));
} }
bool FIPConfig::operator==(const FIPConfig& rhs) const bool FIPConfig::operator==(const FIPConfig& rhs) const

View File

@ -43,23 +43,23 @@ RPTSOL
const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back(); const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back();
FIPConfig fipConfig(keyword); FIPConfig fipConfig(keyword);
BOOST_CHECK( fipConfig.output(FIPConfig::FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIPNUM)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIPNUM));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIP)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIP));
BOOST_CHECK( fipConfig.output(FIPConfig::FOAM_FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::FOAM_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_REGION));
BOOST_CHECK( fipConfig.output(FIPConfig::RESV)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::RESV));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::VE)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::VE));
} }
BOOST_AUTO_TEST_CASE(FieldFipnumFipFoamFieldFoamRegionResv) BOOST_AUTO_TEST_CASE(FieldFipnumFipFoamFieldFoamRegionResv)
@ -75,23 +75,23 @@ RPTSOL
const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back(); const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back();
FIPConfig fipConfig(keyword); FIPConfig fipConfig(keyword);
BOOST_CHECK( fipConfig.output(FIPConfig::FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::FIELD));
BOOST_CHECK( fipConfig.output(FIPConfig::FIPNUM)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::FIPNUM));
BOOST_CHECK( fipConfig.output(FIPConfig::FIP)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::FIP));
BOOST_CHECK( fipConfig.output(FIPConfig::FOAM_FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::FOAM_FIELD));
BOOST_CHECK( fipConfig.output(FIPConfig::FOAM_REGION)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::FOAM_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::RESV)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::RESV));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_REGION));
BOOST_CHECK( fipConfig.output(FIPConfig::VE)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::VE));
} }
BOOST_AUTO_TEST_CASE(PolymerFieldPolymerRegion) BOOST_AUTO_TEST_CASE(PolymerFieldPolymerRegion)
@ -107,23 +107,23 @@ RPTSOL
const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back(); const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back();
FIPConfig fipConfig(keyword); FIPConfig fipConfig(keyword);
BOOST_CHECK(!fipConfig.output(FIPConfig::FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIPNUM)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIPNUM));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIP)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIP));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_REGION));
BOOST_CHECK( fipConfig.output(FIPConfig::POLYMER_FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::POLYMER_FIELD));
BOOST_CHECK( fipConfig.output(FIPConfig::POLYMER_REGION)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::POLYMER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::RESV)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::RESV));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::VE)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::VE));
} }
BOOST_AUTO_TEST_CASE(SurfFieldSurfRegion) BOOST_AUTO_TEST_CASE(SurfFieldSurfRegion)
@ -139,23 +139,23 @@ RPTSOL
const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back(); const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back();
FIPConfig fipConfig(keyword); FIPConfig fipConfig(keyword);
BOOST_CHECK(!fipConfig.output(FIPConfig::FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIPNUM)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIPNUM));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIP)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIP));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::RESV)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::RESV));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_REGION));
BOOST_CHECK( fipConfig.output(FIPConfig::SURF_FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::SURF_FIELD));
BOOST_CHECK( fipConfig.output(FIPConfig::SURF_REGION)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::SURF_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::VE)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::VE));
} }
BOOST_AUTO_TEST_CASE(HeatFieldHeatRegion) BOOST_AUTO_TEST_CASE(HeatFieldHeatRegion)
@ -171,23 +171,23 @@ RPTSOL
const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back(); const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back();
FIPConfig fipConfig(keyword); FIPConfig fipConfig(keyword);
BOOST_CHECK(!fipConfig.output(FIPConfig::FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIPNUM)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIPNUM));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIP)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIP));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::RESV)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::RESV));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_REGION));
BOOST_CHECK( fipConfig.output(FIPConfig::TEMPERATURE_FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::TEMPERATURE_FIELD));
BOOST_CHECK( fipConfig.output(FIPConfig::TEMPERATURE_REGION)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::TEMPERATURE_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::VE)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::VE));
} }
BOOST_AUTO_TEST_CASE(TemperatureFieldTemperatureRegion) BOOST_AUTO_TEST_CASE(TemperatureFieldTemperatureRegion)
@ -203,23 +203,23 @@ RPTSOL
const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back(); const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back();
FIPConfig fipConfig(keyword); FIPConfig fipConfig(keyword);
BOOST_CHECK(!fipConfig.output(FIPConfig::FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIPNUM)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIPNUM));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIP)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIP));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::RESV)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::RESV));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_REGION));
BOOST_CHECK( fipConfig.output(FIPConfig::TEMPERATURE_FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::TEMPERATURE_FIELD));
BOOST_CHECK( fipConfig.output(FIPConfig::TEMPERATURE_REGION)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::TEMPERATURE_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TRACER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TRACER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::VE)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::VE));
} }
BOOST_AUTO_TEST_CASE(TracerFieldTracerRegion) BOOST_AUTO_TEST_CASE(TracerFieldTracerRegion)
@ -235,21 +235,21 @@ RPTSOL
const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back(); const auto& keyword = SOLUTIONSection(deck).get<ParserKeywords::RPTSOL>().back();
FIPConfig fipConfig(keyword); FIPConfig fipConfig(keyword);
BOOST_CHECK(!fipConfig.output(FIPConfig::FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIPNUM)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIPNUM));
BOOST_CHECK(!fipConfig.output(FIPConfig::FIP)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FIP));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::FOAM_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::FOAM_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::POLYMER_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::POLYMER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::RESV)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::RESV));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SOLVENT_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SOLVENT_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::SURF_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::SURF_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_FIELD)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_FIELD));
BOOST_CHECK(!fipConfig.output(FIPConfig::TEMPERATURE_REGION)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::TEMPERATURE_REGION));
BOOST_CHECK( fipConfig.output(FIPConfig::TRACER_FIELD)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::TRACER_FIELD));
BOOST_CHECK( fipConfig.output(FIPConfig::TRACER_REGION)); BOOST_CHECK( fipConfig.output(FIPConfig::OutputField::TRACER_REGION));
BOOST_CHECK(!fipConfig.output(FIPConfig::VE)); BOOST_CHECK(!fipConfig.output(FIPConfig::OutputField::VE));
} }