Fixed #131 : Implement ExprToConditions

Fixed #130 : ArithmeticOperatorParser
Fixed #129 : python_wrapper : create_namespace
Fixed #128 : ExpressionParser: Cannot parse func(x) infixed concept 'xxx'
This commit is contained in:
2021-10-13 16:06:57 +02:00
parent a61a1c0d2b
commit 89e1f20975
76 changed files with 5867 additions and 3206 deletions
+36 -1
View File
@@ -1,6 +1,7 @@
import pytest
from core.sheerka.services.SheerkaExecute import ParserInput
from core.tokenizer import Tokenizer, TokenKind
from core.tokenizer import TokenKind, Tokenizer
@pytest.mark.parametrize("text, start, end, expected", [
@@ -141,3 +142,37 @@ def test_i_can_get_the_token_after(text, skip_whitespace, expected):
parser_input = ParserInput(text).reset()
parser_input.next_token()
assert parser_input.the_token_after(skip_whitespace).repr_value == expected
def test_i_can_define_a_sub_part():
text = "Hello Koffi the great guy."
tokens = list(Tokenizer(text))
parser_input = ParserInput(None, tokens, 2, 6)
assert repr(parser_input) == "ParserInput(from_tokens'Koffi the great')"
parser_input.reset()
assert repr(parser_input) == "ParserInput(from_tokens'Koffi the great')"
res = []
while parser_input.next_token():
res.append(f"{parser_input.token.repr_value}")
assert res == ["Koffi", "the", "great"]
assert repr(parser_input) == "ParserInput(from_tokens'Koffi the great')"
def test_i_can_define_parse_input_from_tokens():
text = "Hello Koffi the great guy."
tokens = list(Tokenizer(text))
parser_input = ParserInput(None, tokens)
assert repr(parser_input) == "ParserInput(from_tokens'Hello Koffi the great guy.')"
parser_input.reset()
assert repr(parser_input) == "ParserInput(from_tokens'Hello Koffi the great guy.')"
res = []
while parser_input.next_token():
res.append(f"{parser_input.token.repr_value}")
assert res == ["Hello", "Koffi", "the", "great", "guy", "."]
assert repr(parser_input) == "ParserInput(from_tokens'Hello Koffi the great guy.')"