First implementation of Debugger for SyaNodeParser
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from core.sheerka.services.SheerkaDebugManager import NullDebugLogger
|
||||
from core.sheerka.services.SheerkaOut import SheerkaOut
|
||||
from core.sheerka.services.SheerkaRuleManager import FormatAstList, FormatAstVariable
|
||||
from out.DeveloperVisitor import DeveloperVisitor
|
||||
|
||||
from tests.TestUsingMemoryBasedSheerka import TestUsingMemoryBasedSheerka
|
||||
|
||||
|
||||
class TestDeveloperVisitor(TestUsingMemoryBasedSheerka):
|
||||
def test_i_can_develop_list(self):
|
||||
sheerka, context = self.init_concepts()
|
||||
service_out = sheerka.services[SheerkaOut.NAME]
|
||||
dev_visitor = DeveloperVisitor(service_out, NullDebugLogger(), set(), 0)
|
||||
|
||||
bag = {"a": ["a", "b", "c"]}
|
||||
|
||||
res = dev_visitor.visit(context, FormatAstList("a"), bag)
|
||||
assert res == FormatAstList(variable="a", items=[
|
||||
FormatAstVariable(name="__item", index=0, value="a"),
|
||||
FormatAstVariable(name="__item", index=1, value="b"),
|
||||
FormatAstVariable(name="__item", index=2, value="c"),
|
||||
])
|
||||
|
||||
def test_i_can_develop_list_of_list(self):
|
||||
sheerka, context = self.init_concepts()
|
||||
service_out = sheerka.services[SheerkaOut.NAME]
|
||||
dev_visitor = DeveloperVisitor(service_out, NullDebugLogger(), set(), 0)
|
||||
|
||||
bag = {"a": [["a1", "a2"], ["b1"]]}
|
||||
|
||||
res = dev_visitor.visit(context, FormatAstList("a"), bag)
|
||||
assert res == FormatAstList(variable="a", items=[
|
||||
FormatAstList(variable="__item", index=0, debug=True, prefix='[', suffix=']', items=[
|
||||
FormatAstVariable(name="__item", index=0, debug=True, value="a1"),
|
||||
FormatAstVariable(name="__item", index=1, debug=True, value="a2"),
|
||||
]),
|
||||
FormatAstList(variable="__item", index=1, debug=True, prefix='[', suffix=']', items=[
|
||||
FormatAstVariable(name="__item", index=0, debug=True, value="b1"),
|
||||
]),
|
||||
])
|
||||
Reference in New Issue
Block a user