def test_component_count(self): from libcellml import ComponentEntity, Component # size_t componentCount() x = ComponentEntity() self.assertEqual(x.componentCount(), 0) x.addComponent(Component()) self.assertEqual(x.componentCount(), 1) x.addComponent(Component()) self.assertEqual(x.componentCount(), 2) y = Component() x.addComponent(y) self.assertEqual(x.componentCount(), 3) y.addComponent(Component()) self.assertEqual(x.componentCount(), 3) y.addComponent(Component()) self.assertEqual(x.componentCount(), 3) self.assertTrue(x.removeComponent(2)) self.assertEqual(x.componentCount(), 2) self.assertTrue(x.removeComponent(0)) self.assertEqual(x.componentCount(), 1) self.assertTrue(x.removeComponent(0)) self.assertEqual(x.componentCount(), 0)
def test_remove_component(self): from libcellml import ComponentEntity, Component # bool removeComponent(size_t index) x = ComponentEntity() self.assertFalse(x.removeComponent(0)) self.assertFalse(x.removeComponent(1)) self.assertFalse(x.removeComponent(-1)) y = Component() x.addComponent(y) self.assertFalse(x.removeComponent(1)) self.assertFalse(x.removeComponent(-1)) self.assertTrue(x.removeComponent(0)) del(x, y) # bool removeComponent(const std::string &name, # bool searchEncapsulated=true) x = ComponentEntity() self.assertFalse(x.removeComponent('aaa')) self.assertFalse(x.removeComponent('aaa', True)) self.assertFalse(x.removeComponent('aaa', False)) self.assertFalse(x.removeComponent('aaa', 'hello')) self.assertFalse(x.removeComponent('aaa', 0)) self.assertFalse(x.removeComponent('aaa', x)) y = Component() name = 'ys-name' y.setName(name) x.addComponent(y) self.assertFalse(x.removeComponent('aaa')) self.assertFalse(x.removeComponent('aaa', True)) self.assertFalse(x.removeComponent('aaa', False)) self.assertTrue(x.removeComponent(name)) z = Component() y.addComponent(z) x.addComponent(y) self.assertTrue(x.removeComponent(name)) del(x, y, z) z = Component() z.setName(name) y = Component() y.addComponent(z) x = ComponentEntity() x.addComponent(y) self.assertFalse(x.removeComponent(name, False)) self.assertTrue(x.removeComponent(name, True)) self.assertFalse(x.removeComponent(name, True)) del(x, y, z, name) # bool removeComponent(const ComponentPtr &component, # bool searchEncapsulated=true) x = ComponentEntity() y = Component() self.assertFalse(x.removeComponent(y)) self.assertFalse(x.removeComponent(y, True)) self.assertFalse(x.removeComponent(y, False)) self.assertFalse(x.removeComponent(y, 'hello')) self.assertFalse(x.removeComponent(y, 0)) self.assertFalse(x.removeComponent(y, x)) x.addComponent(y) self.assertTrue(x.removeComponent(y)) self.assertFalse(x.removeComponent(y)) del(x, y) z = Component() y = Component() y.addComponent(z) x = ComponentEntity() x.addComponent(y) self.assertFalse(x.removeComponent(z, False)) self.assertTrue(x.removeComponent(z, True)) self.assertFalse(x.removeComponent(z, True)) del(x, y, z)