def test_prepend(self): ll = LinkedList() ll.prepend(1) self.assertEqual([1], ll.to_list()) ll.prepend(2) self.assertEqual([2, 1], ll.to_list()) ll.prepend(3) self.assertEqual([3, 2, 1], ll.to_list())
def test_merge_sorted(self): ll1 = from_array_list([1, 3, 5, 7, 9]) ll2 = from_array_list([1, 4, 6, 8]) head = merge_sorted(ll1.head, ll2.head) ll = LinkedList() ll.head = head self.assertEqual([1, 1, 3, 4, 5, 6, 7, 8, 9], ll.to_list())
def test_delete(self): ll = LinkedList() ll.append(1) ll.append(2) ll.append(3) ll.append(4) ll.delete(0) self.assertEqual([2, 3, 4], ll.to_list()) ll.delete(1) self.assertEqual([2, 4], ll.to_list()) ll.delete(1) self.assertEqual([2], ll.to_list()) ll.delete(0) self.assertEqual([], ll.to_list())
def test_insertsorted(self): ll = from_array_list([1, 2, 3, 5, 6, 7]) insert_sorted(ll, 4) self.assertEqual([1, 2, 3, 4, 5, 6, 7], ll.to_list()) ll = from_array_list([1, 2, 3]) insert_sorted(ll, 4) self.assertEqual([1, 2, 3, 4], ll.to_list()) ll = LinkedList() insert_sorted(ll, 1) self.assertEqual([1], ll.to_list())
def test_to_list(self): ll = LinkedList() ll.head = Node(1) ll.head.next = Node(2) ll.head.next.next = Node(3) self.assertEqual([1, 2, 3], ll.to_list())
def test_append(self): ll = LinkedList() ll.append(1) self.assertEqual([1], ll.to_list()) ll.append(2) self.assertEqual([1, 2], ll.to_list())