Пример #1
0
    def test_linked_list(self):
        ll = LinkedList()
        node = Node()
        node.set_data("foo")

        ll.set_head(node)
        self.assertEqual(ll.head, node)
        self.assertEqual(ll.length, 1)

        # Insert at beginning
        ll.insert_at_pos("bar", 0)
        self.assertEqual(ll.head.get_data(), "bar")
        self.assertEqual(ll.head.get_next().get_data(), "foo")
        self.assertEqual(ll.length, 2)

        # Insert at end
        ll.insert_at_pos("baz", 2)
        self.assertEqual(ll.head.get_next().get_next().get_data(), "baz")
        self.assertEqual(ll.length, 3)

        # Insert at position
        ll.insert_at_pos("ani", 1)
        self.assertEqual(ll.head.get_next().get_next().get_data(), "ani")
        self.assertEqual(ll.length, 4)
Пример #2
0
    def test_node(self):
        node_a = Node()
        node_a.set_data("foo")
        self.assertEqual(node_a.get_data(), "foo")

        node_b = Node()
        node_b.set_data("baz")
        node_a.set_next(node_b)
        node_b.set_prev(node_a)
        self.assertEqual(node_a.get_next(), node_b)
        self.assertEqual(node_b.get_prev(), node_a)

        self.assertEqual(node_a.has_next, True)
        self.assertEqual(node_b.has_next, False)
        self.assertEqual(node_a.has_prev, False)
        self.assertEqual(node_b.has_prev, True)