def main(): # creates the linked list with three data elements newlist = SingleLinkedList() newlist.head = Node("Mon") element2 = Node("Tue") element3 = Node("Wed") # Link first Node to second node, Link second Node to third node newlist.head.next = element2 element2.next = element3 """Traversing a Linked List""" newlist.traverse() """Insertion in a Linked List""" print("\n") newlist.insertion_begin("Sun") newlist.traverse() print("\n") newlist.insertion_end("Thu") newlist.traverse() print("\n") newlist.insertion_between(newlist.head.next, "Fri") newlist.traverse() """Removing an Item form a Liked List""" print("\n") newlist.remove("Wed") newlist.traverse()
class Test(unittest.TestCase): def setUp(self): self.sll = SingleLinkedList() self.sll.append(10) self.sll.append(9) self.sll.append(9) self.sll.append(5) self.sll.append(1) def test_append(self): self.assertEqual(self.sll.values(), "10 -> 9 -> 9 -> 5 -> 1 -> None") def test_remove(self): self.sll.remove(5) self.assertEqual(self.sll.values(), "10 -> 9 -> 9 -> 1 -> None") def test_remove_duplicates(self): remove_duplicates(self.sll) self.assertEqual(self.sll.values(), "10 -> 9 -> 5 -> 1 -> None") def test_remove_duplicates_without_buffer(self): remove_duplicates_without_buffer(self.sll) self.assertEqual(self.sll.values(), "10 -> 9 -> 5 -> 1 -> None")