Fixed unit test

This commit is contained in:
2020-01-31 20:13:17 +01:00
parent b9afcba61f
commit 78fc046f5a
9 changed files with 88 additions and 27 deletions
+5
View File
@@ -42,6 +42,11 @@ class SheerkaDump:
self.sheerka.log.info(f"body : {c.metadata.body}")
self.sheerka.log.info(f"value : {c.body}")
self.sheerka.log.info(f"digest : {c.get_digest()}")
if self.sheerka.isaset(c):
items = self.sheerka.get_set_elements(c)
self.sheerka.log.info(f"elements : {items}")
first = False
def dump_history(self, page=20, start=0):
@@ -74,7 +74,7 @@ class SheerkaSetsManager:
return self.sheerka.sdp.exists(GROUP_PREFIX + b.id, a.id)
def isagroup(self, concept):
def isaset(self, concept):
"""True if exists All_<concept_id> in sdp"""
if not concept.id:
return None
+12 -6
View File
@@ -24,6 +24,7 @@ import logging
CONCEPT_LEXER_PARSER_CLASS = "parsers.ConceptLexerParser.ConceptLexerParser"
CONCEPTS_FILE = "_concepts.txt"
class Sheerka(Concept):
"""
Main controller for the project
@@ -84,6 +85,8 @@ class Sheerka(Concept):
self.evaluate_concept_handler = SheerkaEvaluateConcept(self)
self.history_handler = SheerkaHistoryManager(self)
self.during_restore = False
def initialize(self, root_folder: str = None):
"""
Starting Sheerka
@@ -244,10 +247,11 @@ class Sheerka(Concept):
if not self.skip_builtins_in_db:
self.sdp.save_result(self, execution_context)
#hack to save valid concept definition
if len(ret) == 1 and ret[0].status and self.isinstance(ret[0].value, BuiltinConcepts.NEW_CONCEPT):
with open(CONCEPTS_FILE, "a") as f:
f.write(text + "\n")
# hack to save valid concept definition
if not self.during_restore:
if len(ret) == 1 and ret[0].status and self.isinstance(ret[0].value, BuiltinConcepts.NEW_CONCEPT):
with open(CONCEPTS_FILE, "a") as f:
f.write(text + "\n")
return ret
def execute(self, execution_context, return_values, execution_steps, logger=None):
@@ -534,8 +538,8 @@ class Sheerka(Concept):
def isa(self, a, b):
return self.sets_handler.isa(a, b)
def isagroup(self, concept):
return self.sets_handler.isagroup(concept)
def isaset(self, concept):
return self.sets_handler.isaset(concept)
def get_evaluator_name(self, name):
if self.evaluators_prefix is None:
@@ -572,9 +576,11 @@ class Sheerka(Concept):
:return:
"""
try:
self.during_restore = True
with open(CONCEPTS_FILE, "r") as f:
for line in f.readlines():
self.evaluate_user_input(line)
self.during_restore = False
except IOError:
pass