Add has_xxx and __contains__ to Python SummaryState

This commit is contained in:
Joakim Hove 2020-01-07 15:13:12 +01:00
parent 9ae007ddc9
commit b9c3df5f42
2 changed files with 8 additions and 1 deletions

View File

@ -51,5 +51,8 @@ void python::common::export_SummaryState(py::module& module) {
.def("elapsed", &SummaryState::get_elapsed)
.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("__getitem__", &SummaryState::get);
}

View File

@ -12,7 +12,8 @@ class TestSummaryState(unittest.TestCase):
st = opm.io.sim.SummaryState(datetime.datetime.now())
st.update("FOPT", 100)
self.assertEqual(st["FOPT"], 100)
self.assertTrue("FOPT" in st)
self.assertFalse("FWPR" in st)
with self.assertRaises(IndexError):
x = st["FWPR"]
@ -27,6 +28,9 @@ class TestSummaryState(unittest.TestCase):
st.update_group_var("G3", "GOPR", 300)
self.assertEqual(st.group_var("G3", "GOPR"), 300)
self.assertTrue(st.has_group_var("G1", "GOPR"))
self.assertFalse(st.has_well_var("OP1", "GOPR"))
groups = st.groups
self.assertEqual(len(groups), 3)
self.assertTrue( "G1" in groups )