def test_map(given, expected): lst = LIST for el in reversed(given): lst = PREPEND(lst)(el) result = MAP(ADD(TWO))(lst) decoded = [decode_number(n) for n in decode_list(result)] assert decoded == expected
def test_filter(given, expected): lst = LIST for el in given: lst = APPEND(lst)(el) result = FILTER(LTE(TWO))(lst) decoded = [decode_number(n) for n in decode_list(result)] assert decoded == expected
def test_range(start, end, expected): result = RANGE(start)(end) decoded = [decode_number(n) for n in decode_list(result)] assert decoded == expected
def test_reverse(given): lst = LIST for el in given: lst = PREPEND(lst)(el) assert decode_list(REVERSE(lst)) == given
def test_append(given): lst = LIST for el in given: lst = APPEND(lst)(el) assert decode_list(lst) == given
def test_prepend(given): lst = LIST for el in reversed(given): lst = PREPEND(lst)(el) assert decode_list(lst) == given
def test_take(given, number, expected): lst = LIST for el in given: lst = APPEND(lst)(el) result = TAKE(number)(lst) assert decode_list(result) == expected