First implementation of Debugger for SyaNodeParser
This commit is contained in:
@@ -7,59 +7,59 @@ class TestSheerkaAdmin(TestUsingMemoryBasedSheerka):
|
||||
def test_i_can_get_last_ret(self):
|
||||
pass
|
||||
|
||||
def test_i_can_get_last_error_ret(self):
|
||||
sheerka, context = self.init_concepts()
|
||||
|
||||
# nothing in history
|
||||
last_error_ret = sheerka.last_error_ret(context)
|
||||
assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
|
||||
assert not last_error_ret.status
|
||||
assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.NOT_FOUND)
|
||||
|
||||
# only success in history
|
||||
r_success = sheerka.ret("Test", True, "success")
|
||||
sheerka.last_return_values.append([r_success])
|
||||
last_error_ret = sheerka.last_error_ret(context)
|
||||
assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
|
||||
assert not last_error_ret.status
|
||||
assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.NOT_FOUND)
|
||||
|
||||
# at least on error
|
||||
r_failure = sheerka.ret("Test", False, "failure")
|
||||
sheerka.last_return_values.append([r_failure])
|
||||
assert sheerka.last_error_ret(context) == r_failure
|
||||
|
||||
# add another success and make sure we get the same error
|
||||
sheerka.last_return_values.append([r_success])
|
||||
assert sheerka.last_error_ret(context) == r_failure
|
||||
|
||||
# and I only get the last failure
|
||||
r_failure2 = sheerka.ret("Test", False, "another failure")
|
||||
sheerka.last_return_values.append([r_failure2])
|
||||
assert sheerka.last_error_ret(context) == r_failure2
|
||||
|
||||
# but I still can get the previous error
|
||||
assert sheerka.last_error_ret(context, -2) == r_failure
|
||||
|
||||
def test_i_can_get_last_error_ret_when_only_one_ret_has_failed(self):
|
||||
sheerka, context = self.init_concepts()
|
||||
|
||||
r_success = sheerka.ret("Test", True, "success")
|
||||
r_failure = sheerka.ret("Test", False, "False1")
|
||||
|
||||
sheerka.last_return_values.append([r_success, r_failure])
|
||||
assert sheerka.last_error_ret(context) == r_failure
|
||||
|
||||
def test_i_cannot_get_last_error_ret_when_too_many_errors(self):
|
||||
sheerka, context = self.init_concepts()
|
||||
|
||||
r1 = sheerka.ret("Test", True, "success")
|
||||
r2 = sheerka.ret("Test", False, "False1")
|
||||
r3 = sheerka.ret("Test", False, "False2")
|
||||
|
||||
sheerka.last_return_values.append([r1, r2, r3])
|
||||
last_error_ret = sheerka.last_error_ret(context)
|
||||
assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
|
||||
assert not last_error_ret.status
|
||||
assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.TOO_MANY_ERRORS)
|
||||
assert last_error_ret.body.body == [r2, r3]
|
||||
# def test_i_can_get_last_error_ret(self):
|
||||
# sheerka, context = self.init_concepts()
|
||||
#
|
||||
# # nothing in history
|
||||
# last_error_ret = sheerka.last_error_ret(context)
|
||||
# assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
|
||||
# assert not last_error_ret.status
|
||||
# assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.NOT_FOUND)
|
||||
#
|
||||
# # only success in history
|
||||
# r_success = sheerka.ret("Test", True, "success")
|
||||
# sheerka.last_return_values.append([r_success])
|
||||
# last_error_ret = sheerka.last_error_ret(context)
|
||||
# assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
|
||||
# assert not last_error_ret.status
|
||||
# assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.NOT_FOUND)
|
||||
#
|
||||
# # at least on error
|
||||
# r_failure = sheerka.ret("Test", False, "failure")
|
||||
# sheerka.last_return_values.append([r_failure])
|
||||
# assert sheerka.last_error_ret(context) == r_failure
|
||||
#
|
||||
# # add another success and make sure we get the same error
|
||||
# sheerka.last_return_values.append([r_success])
|
||||
# assert sheerka.last_error_ret(context) == r_failure
|
||||
#
|
||||
# # and I only get the last failure
|
||||
# r_failure2 = sheerka.ret("Test", False, "another failure")
|
||||
# sheerka.last_return_values.append([r_failure2])
|
||||
# assert sheerka.last_error_ret(context) == r_failure2
|
||||
#
|
||||
# # but I still can get the previous error
|
||||
# assert sheerka.last_error_ret(context, -2) == r_failure
|
||||
#
|
||||
# def test_i_can_get_last_error_ret_when_only_one_ret_has_failed(self):
|
||||
# sheerka, context = self.init_concepts()
|
||||
#
|
||||
# r_success = sheerka.ret("Test", True, "success")
|
||||
# r_failure = sheerka.ret("Test", False, "False1")
|
||||
#
|
||||
# sheerka.last_return_values.append([r_success, r_failure])
|
||||
# assert sheerka.last_error_ret(context) == r_failure
|
||||
#
|
||||
# def test_i_cannot_get_last_error_ret_when_too_many_errors(self):
|
||||
# sheerka, context = self.init_concepts()
|
||||
#
|
||||
# r1 = sheerka.ret("Test", True, "success")
|
||||
# r2 = sheerka.ret("Test", False, "False1")
|
||||
# r3 = sheerka.ret("Test", False, "False2")
|
||||
#
|
||||
# sheerka.last_return_values.append([r1, r2, r3])
|
||||
# last_error_ret = sheerka.last_error_ret(context)
|
||||
# assert sheerka.isinstance(last_error_ret, BuiltinConcepts.RETURN_VALUE)
|
||||
# assert not last_error_ret.status
|
||||
# assert sheerka.isinstance(last_error_ret.body, BuiltinConcepts.TOO_MANY_ERRORS)
|
||||
# assert last_error_ret.body.body == [r2, r3]
|
||||
|
||||
Reference in New Issue
Block a user