test_state2.py: added test_tables.

This commit is contained in:
Steinar Foss 2019-09-13 14:32:58 +02:00
parent 0ae8c4b235
commit 78ab86e2a3
4 changed files with 26 additions and 31 deletions

View File

@ -95,7 +95,7 @@ void python::common::export_EclipseState(py::module& module) {
.def( "_props", &EclipseState::get3DProperties, ref_internal)
.def( "grid", &EclipseState::getInputGrid, ref_internal)
.def( "_cfg", &EclipseState::cfg, ref_internal)
.def( "_tables", &EclipseState::getTableManager, ref_internal)
.def( "tables", &EclipseState::getTableManager, ref_internal)
.def( "has_input_nnc", &EclipseState::hasInputNNC )
.def( "simulation", &EclipseState::getSimulationConfig, ref_internal)
.def( "input_nnc", &getNNC )

View File

@ -5,13 +5,12 @@
namespace {
double evaluate( const TableManager& tab,
std::string tab_name,
int tab_idx,
std::string col_name, double x ) try {
return tab[tab_name].getTable(tab_idx).evaluate(col_name, x);
} catch( std::invalid_argument& e ) {
throw py::key_error( e.what() );
double eval( const TableManager& tab, std::string tab_name, int tab_idx, std::string col_name, double x ) {
try {
return tab[tab_name].getTable(tab_idx).evaluate(col_name, x);
} catch( std::invalid_argument& e ) {
throw py::key_error( e.what() );
}
}
}
@ -20,6 +19,6 @@ void python::common::export_TableManager(py::module& module) {
py::class_< TableManager >( module, "Tables")
.def( "__contains__", &TableManager::hasTables )
.def("_evaluate", &evaluate );
.def("evaluate", &eval);
}

View File

@ -62,28 +62,6 @@ SATNUM
self.assertFalse('NONO' in smry) # hasKeyword
def test_tables(self):
tables = self.state.table
self.assertTrue('SGOF' in tables)
self.assertTrue('SWOF' in tables)
self.assertFalse('SOF' in tables)
ct = self.cp_state.table
self.assertFalse('SGOF' in ct)
self.assertTrue('SWOF' in ct)
tab = 'SWOF'
col = 'KRW'
self.assertAlmostEqual(0.1345, self.state.table[tab](col, 0.5))
self.assertAlmostEqual(0.39, self.state.table[tab](col, 0.72))
self.assertAlmostEqual(0.1345, self.state.table[tab, col](0.5))
self.assertAlmostEqual(0.39, self.state.table[tab, col](0.72))
with self.assertRaises(KeyError):
self.state.table[tab, 'NO'](1)
def test_faults(self):
self.assertEquals([], self.state.faultNames())
self.assertEquals({}, self.state.faults())

View File

@ -83,5 +83,23 @@ SATNUM
self.assertTrue(sim.hasDISGAS())
self.assertTrue(sim.hasVAPOIL())
def test_tables(self):
tables = self.state.tables()
self.assertTrue('SGOF' in tables)
self.assertTrue('SWOF' in tables)
self.assertFalse('SOF' in tables)
ct = self.cp_state.tables()
self.assertFalse('SGOF' in ct)
self.assertTrue('SWOF' in ct)
tab = 'SWOF'
col = 'KRW'
self.assertAlmostEqual(0.1345, self.state.tables().evaluate(tab, 0, col, 0.5))
self.assertAlmostEqual(0.39, self.state.tables().evaluate(tab, 0, col, 0.72))
with self.assertRaises(KeyError):
self.state.tables().evaluate(tab, 0, 'NO', 1)