def test4(self): parameter_definition = parameters.InterfaceParameterDefinition( "test_name", "a test parameter", 0.1 | units.m, ) class TestModule(BaseTestModule): def get_test(self): return self.x def set_test(self, value): self.x = value class TestModuleBinding(object): parameter_definitions = [parameter_definition] def __init__(self): self.parameters = parameters.Parameters(self.parameter_definitions, self) class TestInterface(TestModule, TestModuleBinding): def __init__(self): TestModuleBinding.__init__(self) instance = TestInterface() self.assertTrue('test_name' in list(instance.parameters.names())) instance.parameters.test_name = 1 | units.km self.assertEquals(1 | units.km, instance.parameters.test_name)
def test1(self): class TestModule(BaseTestModule): pass o = TestModule() set = parameters.Parameters([parameters.InterfaceParameterDefinition( "test_name", "a test parameter", 0.1 | units.m)], o) x = set.get_parameter("test_name") value = x.get_value() self.assertTrue(value.unit.has_same_base_as(units.m)) self.assertEqual(value.value_in(units.m), 0.1)
def test2(self): definition = parameters.InterfaceParameterDefinition( "test_name", "a test parameter", 0.1 | units.m) class TestModule(BaseTestModule): pass o = TestModule() set = parameters.Parameters([definition,], o) x = set.get_parameter("test_name") x.set_value(10|units.m) value = x.get_value() self.assertEqual(value, 10|units.m)
def test15(self): definition = parameters.InterfaceParameterDefinition( "test_name", "a read-only test parameter", 0.1 ) class TestModule(BaseTestModule): pass o = TestModule() set = parameters.Parameters([definition,], o) import numpy b=numpy.array(2) set.test_name=b b*=2 self.assertEqual(set.test_name,2)
def test14(self): definition = parameters.InterfaceParameterDefinition( "test_name", "a read-only test parameter", 0.1 | units.m ) class TestModule(BaseTestModule): pass o = TestModule() set = parameters.Parameters([definition,], o) self.assertEqual(set.test_name, 0.1|units.m) memento = set.copy() self.assertEqual(memento.test_name, 0.1|units.m) memento.test_name=2.|units.m set.reset_from_memento(memento) self.assertEqual(set.test_name, 2.|units.m)
def test5(self): parameter_definition = parameters.InterfaceParameterDefinition( "test_name", "a test parameter", 0.1 | units.m, "before_" ) class TestModule(BaseTestModule): def get_test(self): return self.x def set_test(self, value): self.x = value def before_(self): self.before_called=True pass class TestModuleBinding(object): parameter_definitions = [parameter_definition] def __init__(self): self.parameters = parameters.Parameters(self.parameter_definitions, self) class TestInterface(TestModule, TestModuleBinding): def __init__(self): TestModuleBinding.__init__(self) instance = TestInterface() self.assertTrue('test_name' in list(instance.parameters.names())) self.assertRaises(Exception,lambda: getattr(instance,"before_called")) instance.parameters.test_name = 1 | units.km self.assertEquals(1 | units.km, instance.parameters.test_name) self.assertEqual(instance.before_called,True)