test_state2.py: added test_tables.
This commit is contained in:
parent
0ae8c4b235
commit
78ab86e2a3
@ -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 )
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
@ -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())
|
||||
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user