Add SummaryState functions has_well_var() and has_group_var()
This commit is contained in:
parent
6e82f3cb7a
commit
0cdfdca0f7
@ -82,7 +82,9 @@ public:
|
||||
|
||||
bool has(const std::string& key) const;
|
||||
bool has_well_var(const std::string& well, const std::string& var) const;
|
||||
bool has_well_var(const std::string& var) const;
|
||||
bool has_group_var(const std::string& group, const std::string& var) const;
|
||||
bool has_group_var(const std::string& var) const;
|
||||
|
||||
void update(const std::string& key, double value);
|
||||
void update_well_var(const std::string& well, const std::string& var, double value);
|
||||
|
@ -52,7 +52,7 @@ void python::common::export_SummaryState(py::module& module) {
|
||||
.def_property_readonly("groups", groups)
|
||||
.def_property_readonly("wells", wells)
|
||||
.def("__contains__", &SummaryState::has)
|
||||
.def("has_well_var", &SummaryState::has_well_var)
|
||||
.def("has_group_var", &SummaryState::has_group_var)
|
||||
.def("has_well_var", py::overload_cast<const std::string&, const std::string&>(&SummaryState::has_well_var, py::const_))
|
||||
.def("has_group_var", py::overload_cast<const std::string&, const std::string&>(&SummaryState::has_group_var, py::const_))
|
||||
.def("__getitem__", py::overload_cast<const std::string&>(&SummaryState::get, py::const_));
|
||||
}
|
||||
|
@ -228,6 +228,10 @@ namespace {
|
||||
return has_var(this->well_values, var, well);
|
||||
}
|
||||
|
||||
bool SummaryState::has_well_var(const std::string& var) const {
|
||||
return this->well_values.count(var) != 0;
|
||||
}
|
||||
|
||||
double SummaryState::get_well_var(const std::string& well, const std::string& var) const {
|
||||
return this->well_values.at(var).at(well);
|
||||
}
|
||||
@ -243,6 +247,10 @@ namespace {
|
||||
return has_var(this->group_values, var, group);
|
||||
}
|
||||
|
||||
bool SummaryState::has_group_var(const std::string& var) const {
|
||||
return this->group_values.count(var) != 0;
|
||||
}
|
||||
|
||||
double SummaryState::get_group_var(const std::string& group, const std::string& var) const {
|
||||
return this->group_values.at(var).at(group);
|
||||
}
|
||||
|
@ -1884,7 +1884,8 @@ BOOST_AUTO_TEST_CASE(Test_SummaryState) {
|
||||
BOOST_CHECK_EQUAL( wopr_wells.size() , 0U);
|
||||
|
||||
BOOST_CHECK_EQUAL( st.get_well_var("OP99", "WWCT", 0.50), 0.50);
|
||||
|
||||
BOOST_CHECK( st.has_well_var("WWCT") );
|
||||
BOOST_CHECK( !st.has_well_var("NO_SUCH_VARIABLE") );
|
||||
|
||||
const auto& wwct_wells = st.wells("WWCT");
|
||||
BOOST_CHECK_EQUAL( wwct_wells.size(), 2U);
|
||||
@ -1896,6 +1897,8 @@ BOOST_AUTO_TEST_CASE(Test_SummaryState) {
|
||||
BOOST_CHECK_EQUAL( st.get_group_var("G1", "GWCT"), 0.25);
|
||||
BOOST_CHECK_EQUAL( st.get_group_var("G1", "GWCT"), st.get("GWCT:G1"));
|
||||
BOOST_CHECK_EQUAL( st.get_group_var("G99", "GWCT", 1.00), 1.00);
|
||||
BOOST_CHECK( !st.has_group_var("NO_SUCH_VARIABLE"));
|
||||
BOOST_CHECK( st.has_group_var("GWCT"));
|
||||
const auto& gopr_groups = st.groups("GOPR");
|
||||
BOOST_CHECK_EQUAL( gopr_groups.size() , 0U);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user