Fixed #43 : BnfNodeParser: I can recognize when multiple level of ISA

Fixed #44 : BnfNodeParser: I must simplify results when multiple levels of ISA
Fixed #45 : Dynamic variables cannot be parsed at restart
Fixed #46 : Concepts variables values are transformed into list by default
Fixed #47 : SheerkaAdmin. Add min, max, mean time when restoring files
This commit is contained in:
2021-03-08 17:35:30 +01:00
parent bd8e027827
commit 031bd0274e
20 changed files with 303 additions and 33 deletions
+1 -4
View File
@@ -7,8 +7,6 @@ from core.sheerka.services.SheerkaConceptManager import SheerkaConceptManager
from evaluators.MutipleSameSuccessEvaluator import MultipleSameSuccessEvaluator
from evaluators.OneSuccessEvaluator import OneSuccessEvaluator
from evaluators.PythonEvaluator import PythonEvalError
from parsers.BnfNodeParser import Sequence, StrMatch, OrderedChoice, Optional, ConceptExpression
from tests.TestUsingFileBasedSheerka import TestUsingFileBasedSheerka
from tests.TestUsingMemoryBasedSheerka import TestUsingMemoryBasedSheerka
from tests.parsers.parsers_utils import CMV, CC, compare_with_test_object, CB
@@ -1299,7 +1297,7 @@ as:
assert sheerka.objvalue(res[0].body.get_value("qty")) == 2
def test_i_can_implement_implement_the_concept_and(self):
def test_i_can_implement_the_concept_and(self):
init = [
"def concept x and y as x and y",
"set_is_lesser(__PRECEDENCE, c:x and y:, 'Sya')",
@@ -1310,4 +1308,3 @@ as:
assert len(res) == 1
assert res[0].status
@@ -1,4 +1,5 @@
from core.builtin_concepts_ids import BuiltinConcepts
from core.concept import get_concept_attrs, Concept, ALL_ATTRIBUTES
from core.sheerka.services.SheerkaConceptManager import SheerkaConceptManager
from parsers.BnfNodeParser import OrderedChoice, StrMatch, Sequence, ConceptExpression, Optional
from tests.TestUsingFileBasedSheerka import TestUsingFileBasedSheerka
@@ -86,7 +87,7 @@ class TestSheerkaNonRegFile(TestUsingFileBasedSheerka):
"set_isa(thirties, number)",
])
sheerka = self.get_sheerka() # another instance
sheerka = self.new_sheerka_instance()
assert sheerka.evaluate_user_input("eval twenty one")[0].body == 21
assert sheerka.evaluate_user_input("eval thirty one")[0].body == 31
@@ -95,10 +96,29 @@ class TestSheerkaNonRegFile(TestUsingFileBasedSheerka):
sheerka = self.get_sheerka()
sheerka.evaluate_user_input("push_ontology('test')")
sheerka = self.new_sheerka_instance(False)
sheerka = self.new_sheerka_instance()
res = sheerka.evaluate_user_input("pop_ontology()")
assert len(res) == 1
assert res[0].status
assert sheerka.isinstance(res[0].body, BuiltinConcepts.ONTOLOGY_REMOVED)
def test_i_can_read_concept_with_dynamic_variables_at_restart(self):
sheerka = self.init_scenario([
"def concept foo",
"def concept prop_name",
"def concept prop_value",
"eval foo",
"set_attr(foo, prop_name, prop_value)",
])
ALL_ATTRIBUTES.clear()
res = sheerka.evaluate_user_input("in_memory()")
res = sheerka.evaluate_user_input("memory(foo)")
assert len(res) == 1
assert res[0].status
assert get_concept_attrs(Concept("foo")) == []
assert get_concept_attrs(res[0].body) == ['c:prop_name|1002:']
@@ -32,6 +32,7 @@ name : foo
key : foo
definition: None
type : None
hash : 16f7fbb8bc509b8c652edaf3d0c0457d15a37f0a862fbe03fa357b0c77249c46
body : 1
where : None
pre : None
@@ -44,6 +45,7 @@ name : foo
key : foo
definition: None
type : None
hash : 7036cd5ffa9294d2e1dc9bf9c9bbe2783ace5cf7f423bfce9b28c8d33c0d1d0c
body : 2
where : None
pre : None