summaryrefslogtreecommitdiff
path: root/tests/test_evaluator.py
blob: cb7c11c758533c535e324ae57fd75f12c2bef8fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from hypothesis import given, event

from actinide.evaluator import *
from actinide.environment import *
from actinide.types import *

from .programs import *

# Cases for the evaluator:

# * Given a program, does it produce the expected evaluation?
@given(programs())
def test_evaluator(program_result):
    program, result, bindings = program_result
    environment = Environment()
    macros = Environment()
    assert run(eval(program, symbol_table, None), environment, macros) == result
    for symbol, value in bindings:
        assert environment[symbol] == value