예제 #1
0
class StdEnKFDebugTest(ResTest):
    def setUp(self):
        self.rng = RandomNumberGenerator(RngAlgTypeEnum.MZRAN,
                                         RngInitModeEnum.INIT_DEFAULT)
        if sys.platform.lower() == 'darwin':
            self.libname = res.res_lib_path + "/std_enkf_debug.dylib"
        else:
            self.libname = res.res_lib_path + "/std_enkf_debug.so"
        self.module = AnalysisModule(lib_name=self.libname)

    def toggleKey(self, key):
        self.assertTrue(self.module.hasVar(key))

        # check it is true
        self.assertTrue(self.module.setVar(key, True))
        self.assertTrue(self.module.getBool(key))

        # set it to false
        self.assertTrue(self.module.setVar(key, False))
        self.assertFalse(self.module.getBool(key))

    def test_EE_option(self):
        self.toggleKey('USE_EE')

    def test_scaledata_option(self):
        self.toggleKey('ANALYSIS_SCALE_DATA')

    def test_prefix(self):
        self.assertTrue(self.module.hasVar("PREFIX"))
        self.assertTrue(self.module.setVar("PREFIX", "Path"))
예제 #2
0
class StdEnKFDebugTest(ResTest):
    def setUp(self):
        self.rng = RandomNumberGenerator(RngAlgTypeEnum.MZRAN,
                                         RngInitModeEnum.INIT_DEFAULT)
        if sys.platform.lower() == "darwin":
            lib_name = "std_enkf_debug.dylib"
        else:
            lib_name = "std_enkf_debug.so"
        self.libname = find_file(self.SOURCE_ROOT, lib_name)
        if self.libname:
            self.module = AnalysisModule(lib_name=self.libname)
        else:
            pytest.skip("Debug library not found")

    def toggleKey(self, key):
        self.assertTrue(self.module.hasVar(key))

        # check it is true
        self.assertTrue(self.module.setVar(key, True))
        self.assertTrue(self.module.getBool(key))

        # set it to false
        self.assertTrue(self.module.setVar(key, False))
        self.assertFalse(self.module.getBool(key))

    def test_EE_option(self):
        self.toggleKey("USE_EE")

    def test_scaledata_option(self):
        self.toggleKey("ANALYSIS_SCALE_DATA")

    def test_prefix(self):
        self.assertTrue(self.module.hasVar("PREFIX"))
        self.assertTrue(self.module.setVar("PREFIX", "Path"))
예제 #3
0
class StdEnKFTest(ResTest):

    def setUp(self):
        self.rng = RandomNumberGenerator(RngAlgTypeEnum.MZRAN, RngInitModeEnum.INIT_DEFAULT)
        self.module = AnalysisModule(name = "STD_ENKF" )

    def toggleKey(self, key):
        self.assertTrue( self.module.hasVar( key ))

        # check it is true
        self.assertTrue( self.module.setVar( key , True ) )
        self.assertTrue( self.module.getBool(key) )

        # set it to false
        self.assertTrue( self.module.setVar( key , False ) )
        self.assertFalse( self.module.getBool(key) )

    def test_EE_option(self):
        self.toggleKey( 'USE_EE' )

    def test_GE_option(self):
        self.toggleKey( 'USE_GE' )


    def test_scaledata_option(self):
        self.toggleKey( 'ANALYSIS_SCALE_DATA' )
예제 #4
0
def test_analysis_module():
    am = AnalysisModule(100, 2)

    assert am.setVar("ITER", "1")

    assert am.name() == "IES_ENKF"

    assert am.hasVar("ITER")

    assert isinstance(am.getDouble("ENKF_TRUNCATION"), float)

    assert isinstance(am.getInt("ITER"), int)
예제 #5
0
    def test_analysis_module(self):
        am = AnalysisModule(100, AnalysisModeEnum.ITERATED_ENSEMBLE_SMOOTHER)

        self.assertTrue(am.setVar("ITER", "1"))

        self.assertEqual(am.name(), "IES_ENKF")

        self.assertTrue(
            am.checkOption(AnalysisModuleOptionsEnum.ANALYSIS_ITERABLE))

        self.assertTrue(am.hasVar("ITER"))

        self.assertIsInstance(am.getDouble("ENKF_TRUNCATION"), float)

        self.assertIsInstance(am.getInt("ITER"), int)