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_sub(left, right, expected):
    assert decode_number(SUB(left)(right)) == expected
def test_add(left, right, expected):
    assert decode_number(ADD(left)(right)) == expected
def test_dec(given, expected):
    assert decode_number(DEC(given)) == expected
def test_inc(given, expected):
    assert decode_number(INC(given)) == expected
def test_numbers(given, expected):
    assert decode_number(given) == expected
Esempio n. 8
0
def test_smul(lsign, left, rsign, right, expsign, expvalue):
    lv = CONS(lsign)(left)
    rv = CONS(rsign)(right)
    res = SMUL(lv)(rv)
    assert CAR(res) is expsign
    assert decode_number(CDR(res)) == expvalue
def test_fib(given, expected):
    assert decode_number(FIB(given)) == 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_reduce(given, expected):
    lst = LIST
    for el in given:
        lst = PREPEND(lst)(el)
    assert decode_number(REDUCE(ADD)(lst)(ZERO)) == expected
def test_length(given, expected):
    lst = LIST
    for el in given:
        lst = APPEND(lst)(el)
    assert decode_number(LENGTH(lst)) == expected
def test_mod(left, right, expected):
    assert decode_number(MOD(left)(right)) == expected
def test_div(left, right, expected):
    assert decode_number(DIV(left)(right)) == expected
def test_mul(left, right, expected):
    assert decode_number(MUL(left)(right)) == expected
Esempio n. 16
0
def test_sign_unsign(given, expected):
    assert decode_number(UNSIGN(SIGN(given))) == expected
def test_pow(left, right, expected):
    assert decode_number(POW(left)(right)) == expected
def test_fac(given, expected):
    assert decode_number(FAC(given)) == expected