コード例 #1
0
def test_merge():
    l = [4, 7, 2, 8, 4, 6, 9, 5, 5, 7, 3, 2, 8]
    l_sorted = sorted(l)
    l_left = LinkedList.from_list(sorted(l[:5]))
    l_right = LinkedList.from_list(sorted(l[5:]))
    ll = LinkedList.merge(l_left, l_right)
    assert len(ll) == len(l)
    for i, j in zip(ll, l_sorted):
        assert i == j
コード例 #2
0
def test_keyed_merge_sort():
    l = [4, 7, 2, 8, 4, 6, 9, 5, 5, 7, 3, 2, 8]
    l_rsorted = list(reversed(sorted(l)))
    ll = LinkedList.from_list(l).merge_sort(key=lambda x: -x)
    assert len(ll) == len(l)
    for i, j in zip(ll, l_rsorted):
        assert i == j, "%s vs %s" % (ll, l_rsorted)
コード例 #3
0
def test_merge_sort():
    l = [4, 7, 2, 8, 4, 6, 9, 5, 5, 7, 3, 2, 8]
    l_sorted = sorted(l)
    ll = LinkedList.from_list(l).merge_sort()
    assert len(ll) == len(l)
    for i, j in zip(ll, l_sorted):
        assert i == j
コード例 #4
0
def test_iteration():
    l = [2, 4, 3, 5]
    ll = LinkedList.from_list(l)
    for i, j in zip(l, ll):
        assert i == j
    assert len(l) == len(ll)
コード例 #5
0
def test_split():
    l = [4, 7, 2, 8, 4, 6, 9, 5, 5, 7, 3, 2, 8]
    ll = LinkedList.from_list(l)
    print(ll.split())