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:
@@ -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.')"
|
||||
|
||||
Reference in New Issue
Block a user