Working on #48 : Refactored FunctionParser, introducting ExpressionParser
This commit is contained in:
@@ -6,7 +6,8 @@ from core.sheerka.services.SheerkaExecute import ParserInput
|
||||
from parsers.FunctionParser import FunctionParser
|
||||
from parsers.PythonParser import PythonErrorNode
|
||||
from tests.TestUsingMemoryBasedSheerka import TestUsingMemoryBasedSheerka
|
||||
from tests.parsers.parsers_utils import compute_expected_array, SCN, SCWC, CN, UTN, CNC, RN, FN, get_test_obj
|
||||
from tests.parsers.parsers_utils import compute_expected_array, SCN, SCWC, CN, UTN, CNC, RN, FN, get_test_obj, \
|
||||
get_expr_node_from_test_node
|
||||
|
||||
cmap = {
|
||||
"one": Concept("one"),
|
||||
@@ -64,12 +65,12 @@ class TestFunctionParser(TestUsingMemoryBasedSheerka):
|
||||
("concept(one)", FN("concept(", ")", ["one"])),
|
||||
("func(one)", FN("func(", ")", ["one"])),
|
||||
("func(a long two, 'three', ;:$*)", FN("func(", ")", ["a long two, ", "'three', ", ";:$*"])),
|
||||
("func(func1(one), two, func2(func3(), func4(three)))", FN("func(", ")", [
|
||||
("func(func1(one), two, func2(func3(), func4(three)))", FN("func(", (")", 4), [
|
||||
(FN("func1(", ")", ["one"]), ", "),
|
||||
"two, ",
|
||||
(FN("func2(", ")", [
|
||||
(FN("func3(", ")", []), ", "),
|
||||
(FN("func4(", ")", ["three"]), None),
|
||||
(FN("func2(", (")", 3), [
|
||||
(FN("func3(", (")", 1), []), ", "),
|
||||
(FN("func4(", (")", 2), ["three"]), None),
|
||||
]), None)
|
||||
])),
|
||||
])
|
||||
@@ -80,8 +81,8 @@ class TestFunctionParser(TestUsingMemoryBasedSheerka):
|
||||
parser.parser_input.next_token()
|
||||
|
||||
res = parser.parse_function()
|
||||
transformed_res = get_test_obj(res, expected)
|
||||
assert transformed_res == expected
|
||||
expected = get_expr_node_from_test_node(expression, expected)
|
||||
assert res == expected
|
||||
|
||||
def test_i_can_parse_function_when_rule(self):
|
||||
sheerka, context, parser = self.init_parser()
|
||||
|
||||
Reference in New Issue
Block a user