Module tests.test_data_node

Classes

class TestDataNode (methodName='runTest')
Expand source code
class TestDataNode(unittest.TestCase):
        """General tests for data nodes"""

        def test_constructor(self) -> None:
                base: DataNode = DataNode.create_root_node()
                dn: DataNode = DataNode("Name", None, ["1", "2", "3"], [base])

                self.assertEqual("Name", dn.name)
                self.assertEqual(None, dn.parent)
                self.assertEqual(["1", "2", "3"], dn.args)
                self.assertEqual([base], dn.children)

        def test_equals_hash_code(self) -> None:
                child: DataNode = DataNode("X", None, ["A", "B", "C"], [])
                a: DataNode = DataNode("X", None, ["A", "B", "C"], [child])
                b: DataNode = DataNode("X", None, ["A", "B", "C"], [child])
                c: DataNode = DataNode("Y", None, ["A", "B", "C"], [child])
                d: DataNode = DataNode("X", None, ["A", "B"], [child])

                self.assertEqual(a, b)
                self.assertEqual(a.__hash__(), b.__hash__())
                self.assertNotEqual(a, c)
                self.assertNotEqual(a, d)
                self.assertNotEqual(a, child)


        def test_str(self) -> None:
                node: DataNode = DataNode("A", None, ["1", "2", "3"], [])

                self.assertEqual("Node{name: A, args: ['1', '2', '3'], children: 0}", node.__str__())

General tests for data nodes

Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.

Ancestors

  • unittest.case.TestCase

Methods

def test_constructor(self) ‑> None
Expand source code
def test_constructor(self) -> None:
        base: DataNode = DataNode.create_root_node()
        dn: DataNode = DataNode("Name", None, ["1", "2", "3"], [base])

        self.assertEqual("Name", dn.name)
        self.assertEqual(None, dn.parent)
        self.assertEqual(["1", "2", "3"], dn.args)
        self.assertEqual([base], dn.children)
def test_equals_hash_code(self) ‑> None
Expand source code
def test_equals_hash_code(self) -> None:
        child: DataNode = DataNode("X", None, ["A", "B", "C"], [])
        a: DataNode = DataNode("X", None, ["A", "B", "C"], [child])
        b: DataNode = DataNode("X", None, ["A", "B", "C"], [child])
        c: DataNode = DataNode("Y", None, ["A", "B", "C"], [child])
        d: DataNode = DataNode("X", None, ["A", "B"], [child])

        self.assertEqual(a, b)
        self.assertEqual(a.__hash__(), b.__hash__())
        self.assertNotEqual(a, c)
        self.assertNotEqual(a, d)
        self.assertNotEqual(a, child)
def test_str(self) ‑> None
Expand source code
def test_str(self) -> None:
        node: DataNode = DataNode("A", None, ["1", "2", "3"], [])

        self.assertEqual("Node{name: A, args: ['1', '2', '3'], children: 0}", node.__str__())