Exemplo n.º 1
0
    def test10(self):
        print("Testing ParametersWithUnitsConverted on vector parameters")
        definitions = []
        for par_name in ["length_x", "length_y", "length_z"]:
            definitions.append(
                parameters.ModuleMethodParameterDefinition(
                    "get_" + par_name, "set_" + par_name, par_name,
                    "a test parameter", 10.0 | generic_unit_system.length))

        definitions.append(
            parameters.VectorParameterDefinition(
                "mesh_length",
                "length of the model in the x, y and z directions",
                ("length_x", "length_y", "length_z"),
                [10, 10, 10] | generic_unit_system.length))

        class TestModule(BaseTestModule):
            x = 123.0 | generic_unit_system.length
            y = 456.0 | generic_unit_system.length
            z = 789.0 | generic_unit_system.length

            def get_length_x(self):
                return self.x

            def set_length_x(self, value):
                self.x = value

            def get_length_y(self):
                return self.y

            def set_length_y(self, value):
                self.y = value

            def get_length_z(self):
                return self.z

            def set_length_z(self, value):
                self.z = value

        o = TestModule()
        x = parameters.Parameters(definitions, o)

        self.assertTrue("mesh_length" in str(x))
        self.assertTrue("[123.0, 456.0, 789.0] length" in str(x))

        converter = generic_unit_converter.ConvertBetweenGenericAndSiUnits(
            2.0 | units.m, 4.0 | units.kg, 6.0 | units.s)
        y = parameters.ParametersWithUnitsConverted(
            x, converter.as_converter_from_si_to_generic())
        self.assertTrue("mesh_length" in str(y))
        self.assertTrue("[246.0, 912.0, 1578.0] m" in str(y))
 def test9(self):
     parameter_definition1 = parameters.ModuleMethodParameterDefinition(
         "get_test",
         "set_test",
         "test_name",
         "a test parameter",
         11.0 | units.m
     )
     
     parameter_definition2 = parameters.ModuleMethodParameterDefinition(
         "get_test1",
         "set_test1",
         "test_name2",
         "a test parameter",
         12.0 | units.m
     )
 
     paramer_definition3 = parameters.VectorParameterDefinition(
         "test_vector",
         "vector of parameters",
         ["test_name", "test_name2"],
         [11.0, 12.0] | units.m
     )
     
     class TestModule(BaseTestModule):
         def get_test(self):
             return self.x
         def set_test(self, value):
             self.x = value
         def get_test1(self):
             return self.y
         def set_test1(self, value):
             self.y = value
 
 
     instance = TestModule()
     instance.x = 1 | units.m
     instance.y = 2 | units.m
     
     p = parameters.Parameters([parameter_definition1, parameter_definition2, paramer_definition3], instance)
    
     self.assertEquals(p.test_vector, (1,2) | units.m)
     p.test_vector = (3,4) | units.m
     self.assertEquals(instance.x, 3 | units.m)
     self.assertEquals(instance.y, 4 | units.m)