def test_shift():
    dList = Double_list()
    dList.insert("Harry")
    dList.insert("Ron")
    dList.append("Snape")
    assert dList.shift() == "Snape"
    assert dList.list_ptr.node_next.node_next is None
def test_remove():
    dList = Double_list()
    dList.insert("Harry")
    dList.insert("Ron")
    dList.append("Snape")
    dList.remove("Harry")
    assert dList.list_ptr.node_next.node_name == "Snape"
    assert dList.list_ptr.node_next.node_prev.node_name == "Ron"
def test_pop():
    dList = Double_list()
    dList.insert("Harry")
    dList.insert("Ron")
    dList.append("Snape")
    assert dList.pop() == "Ron"
    assert dList.list_ptr.node_name == "Harry"
    assert dList.list_ptr.node_prev is None
    assert dList.list_ptr.node_next.node_name == "Snape"
def test_append():
    dList = Double_list()
    dList.insert("Harry")
    dList.insert("Ron")
    dList.append("Snape")
    assert dList.list_ptr.node_next.node_name == "Harry"
    middle_node = dList.list_ptr.node_next
    assert middle_node.node_next.node_name == "Snape"
    assert middle_node.node_next.node_next is None
    assert middle_node.node_next.node_prev.node_name == "Harry"