Fixed #20: I can parse simple concepts
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
from base import BaseTest
|
||||
from conftest import NewOntology
|
||||
from core.BuiltinConcepts import BuiltinConcepts
|
||||
|
||||
|
||||
def get_ret_val(res):
|
||||
@@ -17,9 +19,9 @@ class TestNonReg1(BaseTest):
|
||||
|
||||
def test_i_cannot_evaluate_variable_that_is_not_defined(self, sheerka, user):
|
||||
res = sheerka.evaluate_user_input("a", user)
|
||||
ret_val = get_ret_val(res)
|
||||
|
||||
assert ret_val.status is False
|
||||
assert len(res) == 2
|
||||
assert all([not ret_val.status for ret_val in res])
|
||||
|
||||
def test_i_can_remember_variables(self, sheerka, user):
|
||||
sheerka.evaluate_user_input("a = 10", user)
|
||||
@@ -28,3 +30,51 @@ class TestNonReg1(BaseTest):
|
||||
ret_val = get_ret_val(res)
|
||||
|
||||
assert ret_val.value == 10
|
||||
|
||||
def test_i_can_define_a_new_concept(self, context, sheerka, user):
|
||||
with NewOntology(context, "test_i_can_define_a_new_concept"):
|
||||
res = sheerka.evaluate_user_input("def concept one as 1", user)
|
||||
|
||||
ret_val = get_ret_val(res)
|
||||
assert ret_val.status
|
||||
assert sheerka.isinstance(ret_val.value, BuiltinConcepts.NEW_CONCEPT)
|
||||
|
||||
def test_i_can_define_a_new_concept_and_use_it(self, context, sheerka, user):
|
||||
with NewOntology(context, "test_i_can_define_a_new_concept_and_use_it"):
|
||||
sheerka.evaluate_user_input("def concept one as 1", user)
|
||||
|
||||
res = sheerka.evaluate_user_input("one", user)
|
||||
ret_val = get_ret_val(res)
|
||||
assert ret_val.status
|
||||
assert sheerka.isinstance(ret_val.value, "one")
|
||||
assert not ret_val.value.get_runtime_info().is_evaluated
|
||||
|
||||
def test_i_can_get_i_concept_using_c_name_form(self, context, sheerka, user):
|
||||
with NewOntology(context):
|
||||
sheerka.evaluate_user_input("def concept one as 1", user)
|
||||
|
||||
res = sheerka.evaluate_user_input("c:one:", user)
|
||||
ret_val = get_ret_val(res)
|
||||
assert ret_val.status
|
||||
assert sheerka.isinstance(ret_val.value, "one")
|
||||
assert not ret_val.value.get_runtime_info().is_evaluated
|
||||
|
||||
def test_i_can_get_i_concept_using_c_id_form(self, context, sheerka, user):
|
||||
with NewOntology(context):
|
||||
sheerka.evaluate_user_input("def concept one as 1", user)
|
||||
|
||||
res = sheerka.evaluate_user_input("c:#1001:", user)
|
||||
ret_val = get_ret_val(res)
|
||||
assert ret_val.status
|
||||
assert sheerka.isinstance(ret_val.value, "one")
|
||||
assert not ret_val.value.get_runtime_info().is_evaluated
|
||||
|
||||
def test_i_can_recognize_concepts_with_long_name(self, context, sheerka, user):
|
||||
with NewOntology(context):
|
||||
sheerka.evaluate_user_input("def concept i am a concept", user)
|
||||
|
||||
res = sheerka.evaluate_user_input("i am a concept", user)
|
||||
ret_val = get_ret_val(res)
|
||||
assert ret_val.status
|
||||
assert sheerka.isinstance(ret_val.value, "i am a concept")
|
||||
assert not ret_val.value.get_runtime_info().is_evaluated
|
||||
|
||||
Reference in New Issue
Block a user