コード例 #1
0
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"
コード例 #2
0
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
コード例 #3
0
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"
コード例 #4
0
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"
コード例 #5
0
def test_insert():
    dList = Double_list()
    dList.insert("Harry")
    assert dList.list_ptr.node_name == "Harry"
    dList.insert("Ron")
    assert dList.list_ptr.node_name == "Ron"
    assert dList.list_ptr.node_next.node_name == "Harry"
    assert dList.list_ptr.node_next.node_prev.node_name == "Ron"
    dList.insert("Snape")
    middle_node = dList.list_ptr.node_next
    assert middle_node.node_prev.node_name == "Snape"
    assert middle_node.node_next.node_name == "Harry"
コード例 #6
0
def test_empty():
    dList = Double_list()
    with pytest.raises(AttributeError):
        dList.remove("Penguins")