diff options
Diffstat (limited to 'tests/test_evaluator.py')
| -rw-r--r-- | tests/test_evaluator.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/test_evaluator.py b/tests/test_evaluator.py new file mode 100644 index 0000000..d989f85 --- /dev/null +++ b/tests/test_evaluator.py @@ -0,0 +1,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 |
