summaryrefslogtreecommitdiff
path: root/tests/test_evaluator.py
blob: d989f85de6d278eaa335dcde59f907cd7b37190e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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()
    assert run(eval(program, environment, symbol_table, None)) == result
    for symbol, value in bindings:
        assert environment[symbol] == value