Fixed #20: I can parse simple concepts

This commit is contained in:
2023-07-09 18:08:47 +02:00
parent ba397b0b72
commit 57f9ce2bbb
44 changed files with 2462 additions and 149 deletions
+39 -2
View File
@@ -2,7 +2,8 @@ import pytest
from common.global_symbols import NotInit
from core.concept import Concept, ConceptDefaultProps, ConceptMetadata, DefinitionType
from helpers import GetNextId, get_concept, get_concepts, get_metadata, get_metadatas, get_evaluated_concept
from helpers import GetNextId, _mt, _ut, get_concept, get_concepts, get_evaluated_concept, get_from, get_metadata, \
get_metadatas
def test_i_can_get_default_value_when_get_metadata():
@@ -233,7 +234,7 @@ def test_i_can_get_multiple_concepts_when_same_name(sheerka, context):
assert sheerka.isinstance(one_int, "one")
def test_i_can_create_test_concept(sheerka, context):
def test_i_can_create_test_concept():
concept = get_concept("one", body="'one'")
test_concept = get_evaluated_concept(concept, body='hello', a="value for a")
@@ -241,3 +242,39 @@ def test_i_can_create_test_concept(sheerka, context):
assert test_concept.get_metadata() == concept.get_metadata()
assert test_concept.get_value(ConceptDefaultProps.BODY) == "hello"
assert test_concept.get_value("a") == "value for a"
def test_i_can_dummy_evaluate_concept():
concept = get_concept("one", body="'one'", where="True", pre="False", ret="1", post="1.0")
evaluated = get_evaluated_concept(concept)
assert evaluated.get_value(ConceptDefaultProps.WHERE) is True
assert evaluated.get_value(ConceptDefaultProps.PRE) is False
assert evaluated.get_value(ConceptDefaultProps.BODY) == "one"
assert evaluated.get_value(ConceptDefaultProps.RET) == 1
assert evaluated.get_value(ConceptDefaultProps.POST) == 1.0
concept = get_concept("one", body='"one"', ret="'a value'")
evaluated = get_evaluated_concept(concept, ret='forced value')
assert evaluated.get_value(ConceptDefaultProps.WHERE) == NotInit
assert evaluated.get_value(ConceptDefaultProps.PRE) == NotInit
assert evaluated.get_value(ConceptDefaultProps.BODY) == "one"
assert evaluated.get_value(ConceptDefaultProps.RET) == "forced value"
assert evaluated.get_value(ConceptDefaultProps.POST) == NotInit
def test_i_can_get_from():
res = get_from(_mt("c:i am a concept#1001:"))
assert res == [_mt("1001", 0, 6)]
res = get_from(_ut("some unrecognized stuff"))
assert res == [_ut("some unrecognized stuff", 0, 4)]
res = get_from(_mt("c:i am a concept#1001:"), _ut("some unrecognized stuff"))
assert res == [_mt("1001", 0, 6), _ut("some unrecognized stuff", 7, 11)]
res = get_from(_mt("c:i am a concept#1001:"), _ut("some unrecognized stuff"), parser="other")
assert res == [_mt("1001", 0, 6, parser="other"), _ut("some unrecognized stuff", 7, 11)]
res = get_from(_mt("c:i am a concept#1001:"), _mt("c:#1001:"))
assert res == [_mt("1001", 0, 6), _mt("1001", 7, 13)]