def test_units(self): from libcellml import Model, Units # UnitsPtr units(size_t index) name = 'naaame' m = Model() u = Units() u.setName(name) self.assertIsNone(m.units(0)) self.assertIsNone(m.units(1)) self.assertIsNone(m.units(-1)) m.addUnits(u) self.assertIsNone(m.units(1)) self.assertIsNone(m.units(-1)) self.assertIsNotNone(m.units(0)) self.assertEqual(m.units(0).name(), name) del [m, u, name] # UnitsPtr units(const std::string &name) name = 'kermit' m = Model() u = Units() u.setName(name) self.assertIsNone(m.units(name)) m.addUnits(u) self.assertIsNotNone(m.units(name)) self.assertEqual(m.units(name).name(), name) del [m, u, name]
def test_replace_units(self): from libcellml import Model, Units # bool replaceUnits(size_t index, const UnitsPtr &units) m = Model() u1 = Units() u1.setName('a') m.addUnits(u1) u2 = Units() u2.setName('b') self.assertTrue(m.replaceUnits(0, u2)) self.assertFalse(m.replaceUnits(1, u1)) self.assertFalse(m.replaceUnits(-1, u1)) self.assertEqual(m.units(0).name(), 'b') del [m, u1, u2] # bool replaceUnits(const std::string &name, const UnitsPtr &units) m = Model() a = Units() a.setName('a') m.addUnits(a) b = Units() b.setName('b') self.assertFalse(m.replaceUnits('b', a)) self.assertTrue(m.replaceUnits('a', b)) self.assertTrue(m.replaceUnits('b', a)) self.assertFalse(m.replaceUnits('b', a)) del [m, a, b] # bool replaceUnits(const UnitsPtr &oldUnits, const UnitsPtr &newUnits) m = Model() a = Units() m.addUnits(a) b = Units() self.assertTrue(m.replaceUnits(b, a)) self.assertTrue(m.replaceUnits(a, b)) self.assertTrue(m.replaceUnits(b, a)) del [m, a, b]
def test_type_based_retrieval(self): from libcellml import Annotator, Model, Parser annotator = Annotator() model = Model() parser = Parser() model_string = file_contents("annotator/unique_ids.cellml") model = parser.parseModel(model_string) annotator.setModel(model) v1v1 = (model.component("component2").variable("variable1"), model.component("component2").component("component3").variable( "variable1")) v2v2 = (model.component("component2").variable("variable2"), model.component("component2").component("component3").variable( "variable2")) self.assertEqual(model.name(), annotator.model("model_1").name()) self.assertEqual(model.name(), annotator.encapsulation("encapsulation_1").name()) self.assertEqual( model.component("component1").name(), annotator.component("component_1").name()) self.assertEqual( model.component("component2").name(), annotator.component("component_2").name()) self.assertEqual( model.component("component2").name(), annotator.component("component_ref_1").name()) self.assertEqual( model.component("component2").component("component3").name(), annotator.component("component_3").name()) self.assertEqual( model.component("component2").component("component3").name(), annotator.componentRef("component_ref_2").name()) self.assertEqual( model.component("component1").importSource().url(), annotator.importSource("import_1").url()) self.assertEqual( model.units("units1").name(), annotator.units("units_1").name()) self.assertEqual( model.units("units1").importSource().url(), annotator.importSource("import_2").url()) self.assertEqual( model.units("units2").name(), annotator.units("units_2").name()) self.assertEqual( model.units("units2").name(), annotator.unit("unit_1").units().name()) self.assertEqual(0, annotator.unit("unit_1").index()) self.assertEqual( model.component("component2").variable("variable1").name(), annotator.variable("variable_1").name()) self.assertEqual( model.component("component2").variable("variable2").name(), annotator.variable("variable_2").name()) self.assertEqual( model.component("component2").reset(0).variable().name(), annotator.reset("reset_1").variable().name()) self.assertEqual( model.component("component2").reset(0).testVariable().name(), annotator.reset("reset_1").testVariable().name()) self.assertEqual( model.component("component2").reset(0).testValue(), annotator.testValue("test_value_1").testValue()) self.assertEqual( model.component("component2").reset(0).resetValue(), annotator.resetValue("reset_value_1").resetValue()) self.assertEqual( model.component("component2").component("component3").variable( "variable1").name(), annotator.variable("variable_3").name()) self.assertEqual( model.component("component2").component("component3").variable( "variable2").name(), annotator.variable("variable_4").name()) self.assertEqual( v1v1[0].name(), annotator.connection("connection_1").variable1().name()) self.assertEqual( v1v1[1].name(), annotator.connection("connection_1").variable2().name()) self.assertEqual( v1v1[0].name(), annotator.mapVariables("map_variables_1").variable1().name()) self.assertEqual( v1v1[1].name(), annotator.mapVariables("map_variables_1").variable2().name()) self.assertEqual( v2v2[0].name(), annotator.mapVariables("map_variables_2").variable1().name()) self.assertEqual( v2v2[1].name(), annotator.mapVariables("map_variables_2").variable2().name()) self.assertIsNone(annotator.model("i_dont_exist")) self.assertIsNone(annotator.component("i_dont_exist")) self.assertIsNone(annotator.variable("i_dont_exist")) self.assertIsNone(annotator.units("i_dont_exist")) self.assertIsNone(annotator.unit("i_dont_exist")) self.assertIsNone(annotator.reset("i_dont_exist")) self.assertIsNone(annotator.resetValue("i_dont_exist")) self.assertIsNone(annotator.testValue("i_dont_exist")) self.assertIsNone(annotator.componentRef("i_dont_exist")) self.assertIsNone(annotator.connection("i_dont_exist")) self.assertIsNone(annotator.importSource("i_dont_exist"))