Added InjectorType enum.
This commit is contained in:
@@ -211,5 +211,37 @@ namespace Opm {
|
||||
throw std::invalid_argument("Unknown enum state string: " + stringValue );
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************/
|
||||
|
||||
namespace InjectorType {
|
||||
const std::string InjectorEnum2String( InjectorEnum enumValue ) {
|
||||
switch( enumValue ) {
|
||||
case OIL:
|
||||
return "OIL";
|
||||
case GAS:
|
||||
return "GAS";
|
||||
case WATER:
|
||||
return "WATER";
|
||||
case MULTI:
|
||||
return "MULTI";
|
||||
default:
|
||||
throw std::invalid_argument("unhandled enum value");
|
||||
}
|
||||
}
|
||||
|
||||
InjectorEnum InjectorEnumFromString( const std::string& stringValue ) {
|
||||
if (stringValue == "OIL")
|
||||
return OIL;
|
||||
else if (stringValue == "WATER")
|
||||
return WATER;
|
||||
else if (stringValue == "GAS")
|
||||
return GAS;
|
||||
else if (stringValue == "MULTI")
|
||||
return MULTI;
|
||||
else
|
||||
throw std::invalid_argument("Unknown enum state string: " + stringValue );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,13 +44,16 @@ namespace Opm {
|
||||
|
||||
|
||||
|
||||
namespace Injector {
|
||||
enum InjectorType {
|
||||
namespace InjectorType {
|
||||
enum InjectorEnum {
|
||||
WATER = 1,
|
||||
GAS = 2,
|
||||
OIL = 3,
|
||||
MULTI = 4
|
||||
};
|
||||
|
||||
const std::string InjectorEnum2String( InjectorEnum enumValue );
|
||||
InjectorEnum InjectorEnumFromString( const std::string& stringValue );
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -219,3 +219,35 @@ BOOST_AUTO_TEST_CASE(TestPhaseEnumMask) {
|
||||
|
||||
|
||||
|
||||
/*****************************************************************/
|
||||
|
||||
BOOST_AUTO_TEST_CASE(TestInjectorEnum2String) {
|
||||
BOOST_CHECK_EQUAL( "OIL" , InjectorType::InjectorEnum2String(InjectorType::OIL));
|
||||
BOOST_CHECK_EQUAL( "GAS" , InjectorType::InjectorEnum2String(InjectorType::GAS));
|
||||
BOOST_CHECK_EQUAL( "WATER" , InjectorType::InjectorEnum2String(InjectorType::WATER));
|
||||
BOOST_CHECK_EQUAL( "MULTI" , InjectorType::InjectorEnum2String(InjectorType::MULTI));
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(TestInjectorEnumFromString) {
|
||||
BOOST_CHECK_THROW( InjectorType::InjectorEnumFromString("XXX") , std::invalid_argument );
|
||||
BOOST_CHECK_EQUAL( InjectorType::OIL , InjectorType::InjectorEnumFromString("OIL"));
|
||||
BOOST_CHECK_EQUAL( InjectorType::WATER , InjectorType::InjectorEnumFromString("WATER"));
|
||||
BOOST_CHECK_EQUAL( InjectorType::GAS , InjectorType::InjectorEnumFromString("GAS"));
|
||||
BOOST_CHECK_EQUAL( InjectorType::MULTI , InjectorType::InjectorEnumFromString("MULTI"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(TestInjectorEnumLoop) {
|
||||
BOOST_CHECK_EQUAL( InjectorType::OIL , InjectorType::InjectorEnumFromString( InjectorType::InjectorEnum2String( InjectorType::OIL ) ));
|
||||
BOOST_CHECK_EQUAL( InjectorType::WATER , InjectorType::InjectorEnumFromString( InjectorType::InjectorEnum2String( InjectorType::WATER ) ));
|
||||
BOOST_CHECK_EQUAL( InjectorType::GAS , InjectorType::InjectorEnumFromString( InjectorType::InjectorEnum2String( InjectorType::GAS ) ));
|
||||
BOOST_CHECK_EQUAL( InjectorType::MULTI , InjectorType::InjectorEnumFromString( InjectorType::InjectorEnum2String( InjectorType::MULTI ) ));
|
||||
|
||||
BOOST_CHECK_EQUAL( "MULTI" , InjectorType::InjectorEnum2String(InjectorType::InjectorEnumFromString( "MULTI" ) ));
|
||||
BOOST_CHECK_EQUAL( "OIL" , InjectorType::InjectorEnum2String(InjectorType::InjectorEnumFromString( "OIL" ) ));
|
||||
BOOST_CHECK_EQUAL( "GAS" , InjectorType::InjectorEnum2String(InjectorType::InjectorEnumFromString( "GAS" ) ));
|
||||
BOOST_CHECK_EQUAL( "WATER" , InjectorType::InjectorEnum2String(InjectorType::InjectorEnumFromString( "WATER" ) ));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user