summaryrefslogtreecommitdiff
path: root/tests/test_evaluator.py
blob: dbccbce4ca04eaccb0d7ba4c9abb8d2d57aea044 (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, symbol_table, None), environment) == result
    for symbol, value in bindings:
        assert environment[symbol] == value