예제 #1
0
def test_posort():
    l = range(1, 20)
    cmps = [lambda a, b: a % 10 - b % 10,
            lambda a, b: (a / 10) % 2 - (b / 10) % 2,
            lambda a, b: a - b]
    assert posort(l, *cmps) == \
            [10, 1, 11, 2, 12, 3, 13, 4, 14, 5, 15, 6, 16, 7, 17, 8, 18, 9, 19]
예제 #2
0
def test_posort_easy():
    nodes = "asdfghjkl"

    def cmp(a, b):
        if a < b:
            return -1
        elif a > b:
            return 1
        else:
            return 0

    assert posort(nodes, cmp) == list("adfghjkls")