def test_clean(self): from libcellml import Component, Model, Units, Variable, Printer model = Model() c1 = Component('c1') c2 = Component() c2.setId('c2') c3 = Component() c4 = Component() u1 = Units('used') u2 = Units() u2.setId('u2') u3 = Units() v = Variable('x') model.addComponent(c1) model.addComponent(c2) model.addComponent(c3) model.addComponent(c4) model.addUnits(u1) model.addUnits(u2) model.addUnits(u3) c3.addVariable(v) self.assertEqual(4, model.componentCount()) self.assertEqual(3, model.unitsCount()) # Call the Model.clean() function to remove the empty items (c4 and u3). model.clean() self.assertEqual(3, model.componentCount()) self.assertEqual(2, model.unitsCount())
def test_inherited_methods(self): from libcellml import Component x = Component() idx = 'test' self.assertEqual(x.id(), '') x.setId(idx) self.assertEqual(x.id(), idx)
def test_assign_id(self): from libcellml import Annotator, Component, Model, Units from libcellml import Unit, CellmlElementType annotator = Annotator() model = Model() component1 = Component("c1") component2 = Component("c2") component3 = Component("c3") component3.setId("id3") units = Units("u1") units.addUnit("volt") model.addComponent(component1) model.addComponent(component2) component2.addComponent(component3) model.addUnits(units) annotator.setModel(model) self.assertEqual("", component1.id()) self.assertEqual("", component2.id()) self.assertEqual("", units.unitId(0)) annotator.assignId(component1) self.assertEqual("b4da55", component1.id()) self.assertEqual("", component2.id()) self.assertEqual("", units.unitId(0)) annotator.assignId(Unit(units, 0)) self.assertEqual("b4da55", component1.id()) self.assertEqual("", component2.id()) self.assertEqual("b4da56", units.unitId(0)) self.assertEqual("", annotator.assignId(None, CellmlElementType.UNDEFINED)) item = annotator.item("id3") annotator.assignId(item) self.assertEqual("b4da57", component3.id()) # For coverage only. annotator._assignId(component2)