Ejemplo n.º 1
0
    def test_set_interface_type(self):
        from libcellml import Variable

        # void setInterfaceType(const std::string &interfaceType)
        v = Variable()
        v.setInterfaceType('special type')

        # void setInterfaceType(InterfaceType interfaceType)
        v = Variable()
        v.setInterfaceType(Variable.InterfaceType.NONE)
        v.setInterfaceType(Variable.InterfaceType.PRIVATE)
        self.assertEqual("private", v.interfaceType())
        v.removeInterfaceType()
        self.assertEqual("", v.interfaceType())
        v.setInterfaceType(Variable.InterfaceType.PUBLIC)
        v.setInterfaceType(Variable.InterfaceType.PUBLIC_AND_PRIVATE)
        self.assertTrue(
            v.hasInterfaceType(Variable.InterfaceType.PUBLIC_AND_PRIVATE))
        self.assertRaises(RuntimeError, v.setInterfaceType,
                          Variable.InterfaceType.NONE - 1)
        self.assertRaises(RuntimeError, v.setInterfaceType,
                          Variable.InterfaceType.PUBLIC_AND_PRIVATE + 1)
        del v

        # void setInterfaceType(const std::string &interfaceType)
        v = Variable()
        v.setInterfaceType('not an interface type')
        del v
Ejemplo n.º 2
0
    def test_interface_type(self):
        from libcellml import Variable

        # std::string interfaceType()
        v = Variable()
        self.assertEqual(v.interfaceType(), '')
        v.setInterfaceType(Variable.InterfaceType.NONE)
        self.assertEqual(v.interfaceType(), 'none')
        v.setInterfaceType(Variable.InterfaceType.PRIVATE)
        self.assertEqual(v.interfaceType(), 'private')
        v.setInterfaceType(Variable.InterfaceType.PUBLIC)
        self.assertEqual(v.interfaceType(), 'public')
        v.setInterfaceType(Variable.InterfaceType.PUBLIC_AND_PRIVATE)
        self.assertEqual(v.interfaceType(), 'public_and_private')
Ejemplo n.º 3
0
    def test_variable_interfaces(self):
        from libcellml import Component, Model, Variable

        m = Model()
        c1 = Component("c1")
        c2 = Component("c2")
        v1 = Variable("v1")
        v2 = Variable("v2")

        c1.addVariable(v1)
        c2.addVariable(v2)

        m.addComponent(c1)
        m.addComponent(c2)

        Variable.addEquivalence(v1, v2)

        m.fixVariableInterfaces()

        self.assertEqual("public", v1.interfaceType())
        self.assertEqual("public", v2.interfaceType())