Enhanced AtomNode parsing by name
This commit is contained in:
@@ -2,7 +2,7 @@ import pytest
|
||||
from core.builtin_concepts import BuiltinConcepts
|
||||
from core.concept import Concept, DEFINITION_TYPE_DEF
|
||||
from parsers.AtomNodeParser import AtomNodeParser
|
||||
from parsers.BaseNodeParser import cnode, utnode, CNC, SCN
|
||||
from parsers.BaseNodeParser import cnode, utnode, CNC, SCN, CN
|
||||
|
||||
from tests.TestUsingMemoryBasedSheerka import TestUsingMemoryBasedSheerka
|
||||
from tests.parsers.parsers_utils import compute_expected_array
|
||||
@@ -35,16 +35,16 @@ class TestAtomsParser(TestUsingMemoryBasedSheerka):
|
||||
("foo", ["foo"]),
|
||||
("foo bar", ["foo", "bar"]),
|
||||
("foo bar twenties", ["foo", "bar", "twenties"]),
|
||||
# ("plus", ["plus"]),
|
||||
# ("++", ["++"]),
|
||||
# ("a++ foo", ["++", "foo"]),
|
||||
("a plus b", [CN("plus", 0, 4)]),
|
||||
("mult", [CN("mult", 0, 0, "mult")]),
|
||||
])
|
||||
def test_i_can_parse_simple_sequences(self, text, expected):
|
||||
concepts_map = {
|
||||
"foo": Concept("foo"),
|
||||
"bar": Concept("bar"),
|
||||
"plus": Concept("a plus b").def_var("a").def_var("b"),
|
||||
"++": Concept("++", definition="a++", definition_type=DEFINITION_TYPE_DEF).def_var("a"),
|
||||
"mult": Concept("mult", definition="a mult b", definition_type=DEFINITION_TYPE_DEF).def_var("a").def_var(
|
||||
"b"),
|
||||
"twenties": Concept("twenties", definition="'twenty' ('one'|'two')=unit").def_var("unit"),
|
||||
}
|
||||
|
||||
@@ -286,19 +286,19 @@ class TestAtomsParser(TestUsingMemoryBasedSheerka):
|
||||
assert lexer_nodes == expected_array
|
||||
|
||||
@pytest.mark.parametrize("text, expected_is_evaluated", [
|
||||
("foo", False),
|
||||
("bar", False ),
|
||||
("foo", False),
|
||||
("bar", False),
|
||||
("twenties", True),
|
||||
("plus", True),
|
||||
# ("plus", ["plus"]),
|
||||
# ("++", ["++"]),
|
||||
# ("a++ foo", ["++", "foo"]),
|
||||
("a plus b", True),
|
||||
("mult", True),
|
||||
])
|
||||
def test_concepts_with_variables_must_not_be_evaluated(self, text, expected_is_evaluated):
|
||||
concepts_map = {
|
||||
"foo": Concept("foo"),
|
||||
"bar": Concept("bar", body="'bar'"),
|
||||
"plus": Concept("plus", definition="a plus b", definition_type=DEFINITION_TYPE_DEF).def_var("a").def_var("b"),
|
||||
"plus": Concept("a plus b").def_var("a").def_var("b"),
|
||||
"mult": Concept("mult", definition="a mult b", definition_type=DEFINITION_TYPE_DEF).def_var("a").def_var(
|
||||
"b"),
|
||||
"twenties": Concept("twenties", definition="'twenty' ('one'|'two')=unit").def_var("unit"),
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user