コード例 #1
0
ファイル: test_linked_list.py プロジェクト: AliEzzatOdeh/ADpy
 def test_get_node_by_index(self):
     node1 = LinkedListNode("node 1")
     node2 = LinkedListNode("node 2")
     my_linked_list = LinkedList()
     my_linked_list.add_first(node1)
     my_linked_list.add_last(node2)
     print(my_linked_list)
     with self.assertRaises(IndexError):
         my_linked_list.get_node_by_index(2)
     self.assertEqual(
         my_linked_list.get_node_by_index(0).node_value, 'node 1')
     self.assertEqual(
         my_linked_list.get_node_by_index(1).node_value, 'node 2')
コード例 #2
0
ファイル: test_linked_list.py プロジェクト: AliEzzatOdeh/ADpy
    def test_delete_nodes(self):
        node1 = LinkedListNode("node 1")
        node2 = LinkedListNode("node 2")
        node3 = LinkedListNode("node 3")
        node4 = LinkedListNode("node 4")
        my_linked_list = LinkedList()
        my_linked_list.add_first(node1)
        my_linked_list.add_last(node2)
        my_linked_list.add_last(node3)
        my_linked_list.add_last(node4)

        my_linked_list.delete_node(node1)
        self.assertEqual(my_linked_list.length, 3)
        self.assertEqual(my_linked_list.head, node2)
        my_linked_list.delete_node(node3)
        self.assertEqual(my_linked_list.length, 2)
        self.assertEqual(my_linked_list.get_node_by_index(1), node4)
        my_linked_list.delete_node(node4)
        self.assertEqual(my_linked_list.length, 1)
        self.assertEqual(my_linked_list.head, node2)
        self.assertEqual(my_linked_list.tail, node2)
        with self.assertRaises(ValueError):
            my_linked_list.delete_node(node4)
        my_linked_list.delete_node(node2)
        self.assertEqual(my_linked_list.length, 0)
        self.assertEqual(my_linked_list.head, None)
        self.assertEqual(my_linked_list.tail, None)
コード例 #3
0
ファイル: test_linked_list.py プロジェクト: AliEzzatOdeh/ADpy
 def test_iteration_of_nodes(self):
     node1 = LinkedListNode("node 1")
     node2 = LinkedListNode("node 2")
     node3 = LinkedListNode("node 3")
     my_linked_list = LinkedList()
     my_linked_list.add_first(node1)
     my_linked_list.add_last(node2)
     my_linked_list.add_last(node3)
     counter = 0
     for node in my_linked_list:
         self.assertEqual(node, my_linked_list.get_node_by_index(counter))
         counter += 1
コード例 #4
0
ファイル: test_linked_list.py プロジェクト: AliEzzatOdeh/ADpy
 def test_add_node_after(self):
     node1 = LinkedListNode("node 1")
     node2 = LinkedListNode("node 2")
     node3 = LinkedListNode("node 3")
     node4 = LinkedListNode("node 4")
     my_linked_list = LinkedList()
     my_linked_list.add_first(node1)
     my_linked_list.add_node_after(node1, node2)
     self.assertEqual(my_linked_list.head.node_value, 'node 1')
     self.assertEqual(
         my_linked_list.get_node_by_index(1).node_value, 'node 2')
     self.assertEqual(my_linked_list.length, 2)
     with self.assertRaises(ValueError):
         my_linked_list.add_node_after(node3, node4)
     my_linked_list.add_node_after(node2, node3)
     self.assertEqual(
         my_linked_list.get_node_by_index(1).node_value, 'node 2')
     self.assertEqual(
         my_linked_list.get_node_by_index(2).node_value, 'node 3')
     self.assertEqual(my_linked_list.tail.node_value, 'node 3')
     self.assertEqual(my_linked_list.length, 3)
     print(my_linked_list)