Skip to content

Commit 2a2e8c7

Browse files
committed
improving session object
1 parent 3e48d4b commit 2a2e8c7

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

mathics/session.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,17 @@ def __init__(self, add_builtin=True, catch_interrupt=False, form="InputForm"):
99
self.definitions = Definitions(add_builtin)
1010
self.evaluation = Evaluation(definitions=self.definitions, catch_interrupt=catch_interrupt)
1111
self.form = form
12+
self.last_result = None
1213

13-
def evaluate(self, str_expression, timeout = None, form= None):
14+
def evaluate(self, str_expression, timeout = None, form=None):
1415
expr = parse(self.definitions, SingleLineFeeder(str_expression))
1516
if form is None:
1617
form = self.form
17-
return expr.evaluate(self.evaluation).format(ms.evaluation, form)
18-
18+
self.last_result = expr.evaluate(self.evaluation)
19+
return self.last_result
1920

21+
def format_result(self, str_expression=None, timeout = None, form=None):
22+
self.last_result
23+
if form is None:
24+
form = self.form
25+
return res.do_format(self.evaluation, form)

test/test_evaluation.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1+
2+
from mathics.session import MathicsSession
3+
14
from mathics.core.parser import parse, SingleLineFeeder
25
from mathics.core.definitions import Definitions
36
from mathics.core.evaluation import Evaluation
47
import 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+
5252
def 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

6263
def 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

6971
def 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

Comments
 (0)