File: test_no_mutation.py

package info (click to toggle)
python-evalidate 2.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 176 kB
  • sloc: python: 703; makefile: 6
file content (25 lines) | stat: -rw-r--r-- 725 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# from evalidate import ExecutionException, ValidationException, Expr, base_eval_model
from evalidate import Expr, base_eval_model, ValidationException, ExecutionException
from copy import deepcopy
from collections import UserDict


class TestNoMutation():

    def test_no_mutation_globals(self):
        expr = Expr('a + b')
        ctx = dict(a=1, b=2)
        ctx_orig = deepcopy(ctx)
        result = expr.eval(ctx_globals=ctx)
        assert result == 3
        assert ctx == ctx_orig


    def test_no_mutation_locals(self):
        expr = Expr('a + b')
        ctx = dict(a=1, b=2)
        ctx_orig = deepcopy(ctx)
        result = expr.eval(ctx_locals=ctx)
        assert result == 3
        assert ctx == ctx_orig