Working on #48 : Working
This commit is contained in:
@@ -24,28 +24,25 @@ class TestRelationalOperatorParser(TestUsingMemoryBasedSheerka):
|
||||
assert sheerka.isinstance(res.body, BuiltinConcepts.IS_EMPTY)
|
||||
|
||||
@pytest.mark.parametrize("expression, expected", [
|
||||
("var_name", VAR("var_name")),
|
||||
("var_name.attr", VAR("var_name.attr")),
|
||||
("var_name .attr", VAR("var_name.attr", source="var_name .attr")),
|
||||
("var_name. attr", VAR("var_name.attr", source="var_name. attr")),
|
||||
("var_name . attr", VAR("var_name.attr", source="var_name . attr")),
|
||||
("var_name.attr.get_value(x)", VAR("var_name.attr.get_value(x)")),
|
||||
("var_name.attr == 10", EQ(VAR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr != 10", NEQ(VAR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr > 10", GT(VAR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr >= 10", GTE(VAR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr < 10", LT(VAR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr <= 10", LTE(VAR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr in (a, b)", IN(VAR("var_name.attr"), EXPR("a, b"))),
|
||||
("var_name.attr not in (a, b)", NIN(VAR("var_name.attr"), EXPR("a, b"))),
|
||||
("var1.attr1 == var2.attr2", EQ(VAR("var1.attr1"), VAR("var2.attr2"))),
|
||||
("var1.attr1 == (var2.attr2)", EQ(VAR("var1.attr1"), VAR("var2.attr2"))),
|
||||
# ("var_name.attr in (a.b, b.c)", IN(VAR("var_name.attr"), PAREN(EXPR("a.b, b.c"), source="(a.b, b.c)"))),
|
||||
("var_name", EXPR("var_name")),
|
||||
("var_name.attr", EXPR("var_name.attr")),
|
||||
("var_name.attr.get_value(x)", EXPR("var_name.attr.get_value(x)")),
|
||||
("var_name.attr == 10", EQ(EXPR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr != 10", NEQ(EXPR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr > 10", GT(EXPR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr >= 10", GTE(EXPR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr < 10", LT(EXPR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr <= 10", LTE(EXPR("var_name.attr"), EXPR("10"))),
|
||||
("var_name.attr in (a, b)", IN(EXPR("var_name.attr"), EXPR("a, b"))),
|
||||
("var_name.attr not in (a, b)", NIN(EXPR("var_name.attr"), EXPR("a, b"))),
|
||||
("var1.attr1 == var2.attr2", EQ(EXPR("var1.attr1"), EXPR("var2.attr2"))),
|
||||
("var1.attr1 == (var2.attr2)", EQ(EXPR("var1.attr1"), EXPR("var2.attr2"))),
|
||||
#("var_name.attr in (a.b, b.c)", IN(EXPR("var_name.attr"), PAREN(EXPR("a.b, b.c"), source="(a.b, b.c)"))),
|
||||
|
||||
("not a var identifier", EXPR("not a var identifier")),
|
||||
("func()", EXPR("func()")),
|
||||
#("func(a, not an identifier, x >5)", EXPR("func(a, not an identifier, x >5)")),
|
||||
("(var_name.attr != var_name2.attr2)", NEQ(VAR("var_name.attr"), VAR("var_name2.attr2")))
|
||||
("(var_name.attr != var_name2.attr2)", NEQ(EXPR("var_name.attr"), EXPR("var_name2.attr2")))
|
||||
])
|
||||
def test_i_can_parse_simple_expressions(self, expression, expected):
|
||||
sheerka, context, parser = self.init_parser()
|
||||
|
||||
Reference in New Issue
Block a user