Example #1
0
def test_define_procedure(context):
    program = "(begin (define (square x) (* x x)) (square 10))"
    assert interpret(program, context) == 100
Example #2
0
def test_evaluate_set():
    assert interpret("(begin (define x 2) (set! x 3) x)") == 3
Example #3
0
def test_evaluate_define():
    assert interpret("(begin (define x 2) x)") == 2
Example #4
0
def test_evaluate_if_false():
    assert interpret("(if 0 2 3)") == 3
Example #5
0
def test_evaluate_if_true():
    assert interpret("(if 1 2 3)") == 2
Example #6
0
def test_evaluate_constant_literal():
    assert interpret("12") == 12