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
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')
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())