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()
Esempio n. 2
0
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")