示例#1
0
def test_merge_list_link1_head():
    ll1 = LinkedList()
    ll2 = LinkedList()
    ll2.insert("A", "B", "C")
    actual = str(merge_list(ll1, ll2))
    expected = "C : B : A : None"
    assert actual == expected
示例#2
0
def test_LinkedList_insert_before_present_value():
    ll = LinkedList()
    ll.insert("oranges", "bananas", "coconut")
    ll.insert_before("oranges", "kiwi")
    actual = str(ll)
    expected = "{coconut} -> {bananas} -> {kiwi} -> {oranges} ->  NULL"
    assert actual == expected
示例#3
0
def test_LinkedList_insert_before_multiple_arg_just_head():
    ll = LinkedList()
    ll.insert("oranges")
    ll.insert_before("oranges", "1", "2", "3")
    actual = str(ll)
    expected = "{3} -> {2} -> {1} -> {oranges} ->  NULL"
    assert actual == expected
示例#4
0
def test_merge_list_link2_head():
    ll1 = LinkedList()
    ll2 = LinkedList()
    ll1.insert("a", "b", "c", "d", "e", "f")
    actual = str(merge_list(ll1, ll2))
    expected = "f : e : d : c : b : a : None"
    assert actual == expected
示例#5
0
def test_LinkedList_insert_after_single_new_value():
    ll = LinkedList()
    ll.insert("oranges", "kiwi", "bananas")
    ll.insert_after("kiwi", "1")
    actual = str(ll)
    expected = "{bananas} -> {kiwi} -> {1} -> {oranges} ->  NULL"
    assert actual == expected
示例#6
0
def test_LinkedList_insert_before_multiple_arg_long_head():
    ll = LinkedList()
    ll.insert("oranges", "kiwi", "bananas", "coconut")
    ll.insert_before("kiwi", "1", "2", "3")
    actual = str(ll)
    expected = "{coconut} -> {bananas} -> {3} -> {2} -> {1} -> {kiwi} -> {oranges} ->  NULL"
    assert actual == expected
示例#7
0
def test_LinkedList_insert_after_single_list():
    ll = LinkedList()
    ll.insert("apples")
    ll.insert_after("apples", "1")
    actual = str(ll)
    expected = "{apples} -> {1} ->  NULL"
    assert actual == expected
示例#8
0
def test_LinkedList_insert_after_multiple_arg_single_link():
    ll = LinkedList()
    ll.insert("apples")
    ll.insert_after("apples", "1", "2", "3")
    actual = str(ll)
    expected = "{apples} -> {3} -> {2} -> {1} ->  NULL"
    assert actual == expected
示例#9
0
def test_LinkedList_insert_after_multiple_arg_large_link():
    ll = LinkedList()
    ll.insert("apples", "kiwi", "coconut", "pineapple")
    ll.insert_after("kiwi", "1", "2", "3")
    actual = str(ll)
    expected = "{pineapple} -> {coconut} -> {kiwi} -> {3} -> {2} -> {1} -> {apples} ->  NULL"
    assert actual == expected
def test_LinkedList_str():
    ll = LinkedList()
    ll.insert("a")
    ll.insert("b")
    actual = str(ll)
    expected = "{ b } -> { a } -> NULL"
    assert actual == expected
示例#11
0
def test_LinkedList_append_empty_list():
    ll = LinkedList()
    ll.insert("1", "3", "2")
    ll.append("5")
    actual = str(ll)
    expected = "{2} -> {3} -> {1} -> {5} ->  NULL"
    assert actual == expected
示例#12
0
def test_filter():

    nums = LinkedList()
    for i in range(1, 21):
        nums.insert(i)
    odds = [num for num in nums if num % 2]

    assert odds == [19, 17, 15, 13, 11, 9, 7, 5, 3, 1]
def test_LinkedList_includes_true():
    ll = LinkedList()
    ll.insert("a")
    ll.insert("b")
    ll.insert("c")
    actual = ll.includes("c")
    expected = True
    assert actual == expected
示例#14
0
def test_merge_lists_same_length():
    ll1 = LinkedList()
    ll2 = LinkedList()
    ll1.insert("a", "b", "c")
    ll2.insert("A", "B", "C")
    actual = str(merge_list(ll1, ll2))
    expected = 'c : C : b : B : a : A : None'
    assert actual == expected
示例#15
0
def test_merge_list_link2_long():
    ll1 = LinkedList()
    ll2 = LinkedList()
    ll1.insert("a", "b", "c")
    ll2.insert("A", "B", "C", "D", "E", "F")
    actual = str(merge_list(ll1, ll2))
    expected = "c : F : b : E : a : D : C : B : A : None"
    assert actual == expected
示例#16
0
def test_merge_list_link1_long():
    ll1 = LinkedList()
    ll2 = LinkedList()
    ll1.insert("a", "b", "c", "d", "e", "f")
    ll2.insert("A", "B", "C")
    actual = str(merge_list(ll1, ll2))
    expected = "f : C : e : B : d : A : c : b : a : None"
    assert actual == expected
def test_LinkedList_includes_false():
    ll = LinkedList()
    ll.insert("a")
    ll.insert("b")
    ll.insert("c")
    actual = ll.includes("d")
    expected = False
    assert actual == expected
示例#18
0
def test_equals():

    lla = LinkedList()
    lla.insert("apple", "banana", "cucumber")
    llb = LinkedList()
    llb.insert("apple", "banana", "cucumber")

    assert len(lla) == len(llb)
    assert str(lla) == str(llb)
示例#19
0
def test_next():

    foods = LinkedList()
    foods.insert("apple", "banana", "cucumber")

    iterator = iter(foods)

    assert next(iterator) == "cucumber"
    assert next(iterator) == "banana"
    assert next(iterator) == "apple"
示例#20
0
def test_stop_iteration():

    foods = LinkedList()
    foods.insert("apple", "banana", "cucumber")

    iterator = iter(foods)

    with pytest.raises(StopIteration):
        while True:
            food = next(iterator)
示例#21
0
def test_kth_value_one():
    ll = LinkedList()
    ll.insert("1")
    actual = ll.find_k_node_value2(0)
    expected = '1'
    assert actual == expected
示例#22
0
def test_kth_value_mid_length():
    ll = LinkedList()
    ll.insert("1", "2", "3", "4", "5")
    actual = ll.find_k_node_value2(2)
    expected = '3'
    assert actual == expected
示例#23
0
def test_kth_value_negativeKay():
    ll = LinkedList()
    ll.insert("1", "2", "3")
    actual = ll.find_k_node_value2(-15)
    expected = "Exception"
    assert actual == expected
示例#24
0
def test_kth_value_zeroKay():
    ll = LinkedList()
    ll.insert("1", "2", "3")
    actual = ll.find_k_node_value(0)
    expected = '1'
    assert actual == expected
示例#25
0
def test_for_in():

    foods = LinkedList()
    foods.insert("apple", "banana", "cucumber")
    foods_list = [food for food in foods]
    assert foods_list == ['cucumber', 'banana', 'apple']
示例#26
0
def test_str():
    foods = LinkedList()
    foods.insert("apple", "banana", "cucumber")
    assert str(foods) == "{cucumber} -> {banana} -> {apple} ->  NULL"
def test_LinkedList_insert():
    ll = LinkedList()
    ll.insert("a")
    ll.insert("b")
    assert ll.head.value == "b"
    assert ll.head.next.value == "a"
示例#28
0
def ll():
    ll = LinkedList()
    ll.insert("apples")
    return ll
def prep():
    """Sets up a linked list instance along with adds a few nodes for testing"""
    ll = LinkedList()
    ll.insert("a")
    ll.insert("b")
    ll.insert("c")
示例#30
0
def test_list_cast():

    food_list = ['cucumber', 'banana', 'apple']
    foods = LinkedList()
    foods.insert("apple", "banana", "cucumber")
    assert list(foods) == food_list