def test_inheritance(self): import libcellml from libcellml import Parser x = Parser() self.assertIsInstance(x, libcellml.Logger) # Test access to inherited methods self.assertIsNone(x.getError(0)) self.assertIsNone(x.getError(-1)) self.assertEqual(x.errorCount(), 0) x.addError(libcellml.Error()) self.assertEqual(x.errorCount(), 1)
def test_coverage(self): from libcellml import Issue from libcellml import Parser from test_resources import file_contents self.assertRaises(AttributeError, Issue) p = Parser() p.parseModel(file_contents('invalid_cellml_2.0.xml')) self.assertEqual(2, p.issueCount()) i = p.issue(0) self.assertEqual(Issue.Level.ERROR, i.level()) self.assertNotEqual(None, i.item()) self.assertEqual("1.2.1", i.referenceHeading()) self.assertEqual(1, i.referenceRule()) self.assertEqual( "https://cellml-specification.readthedocs.io/en/latest/reference/formal_and_informative/specA02.html?issue=XML", i.url()) self.assertEqual(2, p.errorCount()) self.assertEqual(None, p.error(4)) self.assertEqual(0, p.warningCount()) self.assertEqual(None, p.warning(0)) self.assertEqual(0, p.messageCount()) self.assertEqual(None, p.message(0))
def test_issue_types(self): from libcellml import Parser, Issue p = Parser() i1 = Issue() i1.setLevel(Issue.Level.ERROR) i1.setDescription("error error") p.addIssue(i1) i4 = Issue() i4.setLevel(Issue.Level.WARNING) i4.setDescription("warning warning") p.addIssue(i4) i2 = Issue() i2.setLevel(Issue.Level.HINT) i2.setDescription("hint hint") p.addIssue(i2) i3 = Issue() i3.setLevel(Issue.Level.MESSAGE) i3.setDescription("message message") p.addIssue(i3) self.assertEqual(1, p.errorCount()) error = p.error(0) self.assertEqual("error error", error.description()) self.assertEqual(1, p.warningCount()) warning = p.warning(0) self.assertEqual("warning warning", warning.description()) self.assertEqual(1, p.hintCount()) hint = p.hint(0) self.assertEqual("hint hint", hint.description()) self.assertEqual(1, p.messageCount()) message = p.message(0) self.assertEqual("message message", message.description()) self.assertEqual(4, p.issueCount()) p.removeAllIssues() self.assertEqual(0, p.issueCount())