1+
2+ from mathics .session import MathicsSession
3+
14from mathics .core .parser import parse , SingleLineFeeder
25from mathics .core .definitions import Definitions
36from mathics .core .evaluation import Evaluation
47import pytest
58
69
7- definitions = Definitions (add_builtin = True )
8- evaluation = Evaluation (definitions = definitions , catch_interrupt = False )
10+ session = MathicsSession (add_builtin = True , catch_interrupt = False )
911
1012
11- def _evaluate (str_expression ):
12- expr = parse (definitions , SingleLineFeeder (str_expression ))
13- return expr .evaluate (evaluation )
1413
1514
1615@pytest .mark .parametrize (
@@ -49,9 +48,11 @@ def _evaluate(str_expression):
4948 (r'StringInsert[{"abcdefghijklm", "Mathics"}, "X", {}]' , r'{"abcdefghijklm", "Mathics"}' ),
5049 ],
5150)
51+
5252def test_evaluation (str_expr : str , str_expected : str , message = "" ):
53- result = _evaluate (str_expr )
54- expected = _evaluate (str_expected )
53+ global session
54+ result = session .evaluate (str_expr )
55+ expected = session .evaluate (str_expected )
5556
5657 if message :
5758 assert result == expected , message
@@ -60,14 +61,15 @@ def test_evaluation(str_expr: str, str_expected: str, message=""):
6061
6162
6263def test_exit ():
64+ global session
6365 try :
64- _evaluate ("Exit[-37]" )
66+ session . evaluate ("Exit[-37]" )
6567 except SystemExit as e :
6668 assert e .code == - 37
6769
6870
6971def test_quit ():
7072 try :
71- _evaluate ("Quit[-37]" )
73+ session . evaluate ("Quit[-37]" )
7274 except SystemExit as e :
7375 assert e .code == - 37
0 commit comments