def test_replace_component(self): from libcellml import ComponentEntity, Component # bool replaceComponent(size_t index, const ComponentPtr &c) x = ComponentEntity() a = Component() b = Component() self.assertFalse(x.replaceComponent(0, b)) self.assertFalse(x.replaceComponent(1, b)) self.assertFalse(x.replaceComponent(-1, b)) x.addComponent(a) self.assertTrue(x.containsComponent(a)) self.assertFalse(x.containsComponent(b)) self.assertFalse(x.replaceComponent(1, b)) self.assertFalse(x.replaceComponent(-1, b)) self.assertTrue(x.replaceComponent(0, b)) self.assertTrue(x.containsComponent(b)) self.assertFalse(x.containsComponent(a)) # bool replaceComponent(const std::string &name, const ComponentPtr &c, # bool searchEncapsulated = true) x = ComponentEntity() a = Component() a.setName('a') b = Component() b.setName('b') self.assertFalse(x.replaceComponent('a', b)) self.assertFalse(x.replaceComponent('b', a)) x.addComponent(a) self.assertTrue(x.containsComponent(a)) self.assertFalse(x.containsComponent(b)) self.assertFalse(x.replaceComponent('b', a)) self.assertTrue(x.replaceComponent('a', b)) self.assertTrue(x.containsComponent(b)) self.assertFalse(x.containsComponent(a)) self.assertTrue(x.replaceComponent('b', a, True)) self.assertTrue(x.replaceComponent('a', b, False)) self.assertTrue(x.replaceComponent('b', a, 100)) self.assertTrue(x.replaceComponent('a', b, [])) self.assertTrue(x.replaceComponent('b', a, 'yes')) self.assertTrue(x.replaceComponent('a', b, a)) del(x, a, b) # replaceComponent(const ComponentPtr &c1, const ComponentPtr &c2, # bool searchEncapsulated = true) x = ComponentEntity() a = Component() b = Component() self.assertFalse(x.replaceComponent(a, b)) self.assertFalse(x.replaceComponent(b, a)) x.addComponent(a) self.assertTrue(x.containsComponent(a)) self.assertFalse(x.containsComponent(b)) self.assertFalse(x.replaceComponent(b, a)) self.assertTrue(x.replaceComponent(a, b)) self.assertTrue(x.containsComponent(b)) self.assertFalse(x.containsComponent(a)) self.assertTrue(x.replaceComponent(b, a, True)) self.assertTrue(x.replaceComponent(a, b, False)) self.assertTrue(x.replaceComponent(b, a, 100)) self.assertTrue(x.replaceComponent(a, b, [])) self.assertTrue(x.replaceComponent(b, a, 'yes')) self.assertTrue(x.replaceComponent(a, b, a))
def test_contains_component(self): from libcellml import ComponentEntity, Component # bool containsComponent(const std::string &name, # bool searchEncapsulated) x = ComponentEntity() y = Component() name = 'blue' y.setName(name) self.assertFalse(x.containsComponent(name)) self.assertFalse(x.containsComponent(name, True)) self.assertFalse(x.containsComponent(name, False)) self.assertFalse(x.containsComponent(name, name)) x.addComponent(y) self.assertTrue(x.containsComponent(name)) z = Component() name2 = 'green' z.setName(name2) y.addComponent(z) self.assertFalse(x.containsComponent(name2, False)) self.assertFalse(x.containsComponent(name2, 0)) self.assertTrue(x.containsComponent(name2, True)) self.assertTrue(x.containsComponent(name2, name2)) del(x, y, z, name, name2) # bool containsComponent(const ComponentPtr &component, # bool searchEncapsulated) x = ComponentEntity() y = Component() self.assertFalse(x.containsComponent(y)) self.assertFalse(x.containsComponent(y, True)) self.assertFalse(x.containsComponent(y, False)) self.assertFalse(x.containsComponent(y, y)) x.addComponent(y) self.assertTrue(x.containsComponent(y)) z = Component() y.addComponent(z) self.assertFalse(x.containsComponent(z, False)) self.assertFalse(x.containsComponent(z, 0)) self.assertTrue(x.containsComponent(z, True)) self.assertTrue(x.containsComponent(z, z)) del(x, y, z)