예제 #1
0
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]
예제 #2
0
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]
예제 #3
0
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
    ]
예제 #4
0
def test_one_node():
    cdll = CircularDoublyLinkedList()
    node = Node(RandomString.make())
    cdll.insert_at_beg(node)
    assert cdll.to_list() == [node.data]
예제 #5
0
def test_to_list_empty():
    cdll = CircularDoublyLinkedList()
    assert cdll.to_list() == []