Exemple #1
0
    def test_when_ll_is_not_empty(self):

        e1 = l.Node(1)
        e2 = l.Node(2)
        e3 = l.Node(3)

        ll = l.LinkedList(e1)
        ll.insert(e2)
        ll.insert(e3)

        self.assertEqual(ll.display(), "1 2 3")
Exemple #2
0
    def test_when_adding_node_to_non_empty_head(self):
        e1 = l.Node(4)
        e2 = l.Node(2)
        e3 = l.Node(3)
        ll = l.LinkedList(e1)
        ll.insert(e2)
        ll.insert(e3)

        self.assertEqual(ll.head.next.value, 2)
        self.assertEqual(ll.head.next.next.value, 3)
        self.assertEqual(ll.head.next.next.next, None)
Exemple #3
0
    def test_when_the_middle_node_is_last_node(self):

        e1 = l.Node(1)
        e2 = l.Node(2)
        e3 = l.Node(3)

        ll = l.LinkedList(e1)
        ll.insert(e2)
        ll.insert(e3)

        with self.assertRaises(ValueError):
            ll.delete_middle_node(e3)
Exemple #4
0
    def test_when_the_middle_node_is_not_the_right_type(self):
        e1 = l.Node(2)
        e2 = l.Node(3)
        e3 = l.Node(4)

        ll = l.LinkedList(e1)
        ll.insert(e2)
        ll.insert(e3)

        with self.assertRaises(TypeError):
            ll.delete_middle_node(2)

        with self.assertRaises(TypeError):
            ll.delete_middle_node(None)
Exemple #5
0
    def test_add_node_when_head_is_empty(self):
        ll = l.LinkedList()
        e1 = l.Node(4)
        ll.insert(e1)

        self.assertEqual(ll.head.value, 4)
        self.assertEqual(ll.head.next, None)
Exemple #6
0
    def test_when_there_are_more_than_one_node(self):

        e1 = l.Node(1)
        e2 = l.Node(2)
        e3 = l.Node(3)
        e4 = l.Node(4)
        e5 = l.Node(5)

        ll = l.LinkedList(e1)
        ll.insert(e2)
        ll.insert(e3)
        ll.insert(e4)
        ll.insert(e5)

        ll.delete_middle_node(e3)

        self.assertEqual(ll.display(), "1 2 4 5")