예제 #1
0
    def test_inheritance(self):
        import libcellml
        from libcellml import Parser

        x = Parser()
        self.assertIsInstance(x, libcellml.logger.Logger)

        # Test access to inherited methods
        self.assertIsNone(x.issue(0))
        self.assertIsNone(x.issue(-1))
        self.assertEqual(x.issueCount(), 0)
예제 #2
0
    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))