def test_remove_from_end(): cdll = CircularDoublyLinkedList() node_1 = Node(RandomString.make()) node_2 = Node(RandomString.make()) node_3 = Node(RandomString.make()) cdll.insert_at_beg(node_3) cdll.insert_at_beg(node_2) cdll.insert_at_beg(node_1) assert cdll.to_list() == [node_1.data, node_2.data, node_3.data] cdll.remove(node_3) assert cdll.to_list() == [node_1.data, node_2.data]
def test_to_list(): cdll = CircularDoublyLinkedList() node_1 = Node(RandomString.make()) cdll.insert_at_beg(node_1) node_2 = Node(RandomString.make()) cdll.insert_after(node_1, node_2) node_3 = Node(RandomString.make()) cdll.insert_after(node_2, node_3) assert cdll.to_list() == [node_1.data, node_2.data, node_3.data]
def test_all_inserts(): cdll = CircularDoublyLinkedList() node_1 = Node(RandomString.make()) node_2 = Node(RandomString.make()) node_3 = Node(RandomString.make()) node_4 = Node(RandomString.make()) cdll.insert_at_beg(node_1) cdll.insert_after(node_1, node_2) cdll.insert_at_end(node_4) cdll.insert_before(node_4, node_3) assert cdll.to_list() == [ node_1.data, node_2.data, node_3.data, node_4.data ]
def test_one_node(): cdll = CircularDoublyLinkedList() node = Node(RandomString.make()) cdll.insert_at_beg(node) assert cdll.to_list() == [node.data]
def test_to_list_empty(): cdll = CircularDoublyLinkedList() assert cdll.to_list() == []