Exemplo n.º 1
0
 def test_remove_all_in_between_single_item(self):
     dl_list = DoublyLinkedList([1, 2, 3, 4, 5, 6])
     self.assertEqual(len([i for i in dl_list.items()]), 6)
     new_list = dl_list.removeAllInBetween(\
         dl_list.firstnode(), dl_list.firstnode().next().next())
     self.assertEqual(len([i for i in dl_list.items()]), 5)
     self.assertEqual(len([i for i in new_list.items()]), 1)
     self.assertEqual(new_list.firstnode().value, 2)
Exemplo n.º 2
0
 def test_remove_all_in_between_empty(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     new_list = dl_list.removeAllInBetween(\
         dl_list.firstnode(), dl_list.firstnode().next())
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     self.assertEqual(len([i for i in new_list.items()]), 0)
     self.assertEqual(new_list.firstnode(), None)
 def test_items(self):
     dll = DoublyLinkedList()
     assert dll.items() == []
     dll.append('A')
     assert dll.items() == ['A']
     dll.append('B')
     assert dll.items() == ['A', 'B']
     dll.append('C')
     assert dll.items() == ['A', 'B', 'C']
Exemplo n.º 4
0
 def test_items(self):
     ll = DoublyLinkedList()
     assert ll.items() == []
     ll.append('B')
     assert ll.items() == ['B']
     ll.prepend('A')
     assert ll.items() == ['A', 'B']
     ll.append('C')
     assert ll.items() == ['A', 'B', 'C']
Exemplo n.º 5
0
 def test_items_after_append(self):
     dll = DoublyLinkedList()
     assert dll.items() == []
     # Append should add new item to tail of list
     dll.append('A')
     assert dll.items() == ['A']
     dll.append('B')
     assert dll.items() == ['A', 'B']
     dll.append('C')
     assert dll.items() == ['A', 'B', 'C']
Exemplo n.º 6
0
 def test_items_after_prepend(self):
     dll = DoublyLinkedList()
     assert dll.items() == []
     # Prepend should add new item to head of list
     dll.prepend('C')
     assert dll.items() == ['C']
     dll.prepend('B')
     assert dll.items() == ['B', 'C']
     dll.prepend('A')
     assert dll.items() == ['A', 'B', 'C']
Exemplo n.º 7
0
 def test_items_iterator(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     count = 0
     for i in dl_list.items():
         self.assertIsInstance(i, DoublyLinkedListNode)
         self.assertGreater(i.value, 0)
         count += 1
     self.assertEqual(count, 3)
Exemplo n.º 8
0
 def test_remove_last_node_empty_list(self):
     dl_list = DoublyLinkedList()
     self.assertEqual(len([i for i in dl_list.items()]), 0)
     self.assertEqual(dl_list.removeLastNode(), None)
     self.assertEqual(len([i for i in dl_list.items()]), 0)
Exemplo n.º 9
0
 def test_remove_after(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     dl_list.removeAfterNode(dl_list.firstnode())
     self.assertEqual(dl_list.firstnode().next().value, 3)
     self.assertEqual(len([i for i in dl_list.items()]), 2)
Exemplo n.º 10
0
 def test_remove_before(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     dl_list.removeBeforeNode(dl_list.lastnode())
     self.assertEqual(dl_list.lastnode().prev().value, 1)
     self.assertEqual(len([i for i in dl_list.items()]), 2)
Exemplo n.º 11
0
 def test_remove_node_last_item(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     dl_list.removeNode(dl_list.lastnode())
     self.assertEqual(dl_list.lastnode().value, 2)
     self.assertEqual(len([i for i in dl_list.items()]), 2)
Exemplo n.º 12
0
 def test_remove_node_unique_item(self):
     dl_list = DoublyLinkedList([1])
     self.assertEqual(len([i for i in dl_list.items()]), 1)
     dl_list.removeNode(dl_list.firstnode())
     self.assertEqual(dl_list.firstnode(), None)
     self.assertEqual(len([i for i in dl_list.items()]), 0)
Exemplo n.º 13
0
 def test_insert_after_last_item(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     dl_list.insertAfter(4, dl_list.lastnode())
     self.assertEqual(dl_list.lastnode().value, 4)
     self.assertEqual(len([i for i in dl_list.items()]), 4)
Exemplo n.º 14
0
 def test_insert_before_first_item(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     dl_list.insertBefore(4, dl_list.firstnode())
     self.assertEqual(dl_list.firstnode().value, 4)
     self.assertEqual(len([i for i in dl_list.items()]), 4)
Exemplo n.º 15
0
 def test_remove_last_node_single_item(self):
     dl_list = DoublyLinkedList([1])
     self.assertEqual(len([i for i in dl_list.items()]), 1)
     self.assertEqual(dl_list.removeLastNode().value, 1)
     self.assertEqual(len([i for i in dl_list.items()]), 0)
Exemplo n.º 16
0
 def test_remove_first_node(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     self.assertEqual(dl_list.removeFirstNode().value, 1)
     self.assertEqual(len([i for i in dl_list.items()]), 2)
Exemplo n.º 17
0
 def test_insert_last_node_empty_list(self):
     dl_list = DoublyLinkedList()
     self.assertEqual(len([i for i in dl_list.items()]), 0)
     dl_list.insertLastNode(1)
     self.assertEqual(dl_list.lastnode().value, 1)
     self.assertEqual(len([i for i in dl_list.items()]), 1)
Exemplo n.º 18
0
 def test_insert_last_node(self):
     dl_list = DoublyLinkedList([1, 2, 3])
     self.assertEqual(len([i for i in dl_list.items()]), 3)
     dl_list.insertLastNode(4)
     self.assertEqual(dl_list.lastnode().value, 4)
     self.assertEqual(len([i for i in dl_list.items()]), 4)