示例#1
0
    def test_get_units(self):
        from libcellml import Model, Units

        # UnitsPtr getUnits(size_t index)
        name = 'naaame'
        m = Model()
        u = Units()
        u.setName(name)
        self.assertIsNone(m.getUnits(0))
        self.assertIsNone(m.getUnits(1))
        self.assertIsNone(m.getUnits(-1))
        m.addUnits(u)
        self.assertIsNone(m.getUnits(1))
        self.assertIsNone(m.getUnits(-1))
        self.assertIsNotNone(m.getUnits(0))
        self.assertEqual(m.getUnits(0).getName(), name)
        del(m, u, name)

        # UnitsPtr getUnits(const std::string &name)
        name = 'kermit'
        m = Model()
        u = Units()
        u.setName(name)
        self.assertIsNone(m.getUnits(name))
        m.addUnits(u)
        self.assertIsNotNone(m.getUnits(name))
        self.assertEqual(m.getUnits(name).getName(), name)
        del(m, u, name)
示例#2
0
    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.getUnits(0).getName(), '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.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)