Refactored ExecutionContext serialization (added sheerkapickle) and added History management
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
from core.sheerka.Services.SheerkaHistoryManager import hist
|
||||
from tests.TestUsingMemoryBasedSheerka import TestUsingMemoryBasedSheerka
|
||||
|
||||
|
||||
class TestSheerkaHistoryManager(TestUsingMemoryBasedSheerka):
|
||||
def test_i_can_retrieve_history(self):
|
||||
sheerka = self.get_sheerka(skip_builtins_in_db=False)
|
||||
|
||||
sheerka.evaluate_user_input("def concept one as 1")
|
||||
sheerka.evaluate_user_input("one")
|
||||
sheerka.evaluate_user_input("xxx")
|
||||
sheerka.evaluate_user_input("def concept two as 2")
|
||||
sheerka.evaluate_user_input("two")
|
||||
sheerka.evaluate_user_input("def concept three as 3")
|
||||
sheerka.evaluate_user_input("three")
|
||||
sheerka.evaluate_user_input("def concept four as 4")
|
||||
sheerka.evaluate_user_input("four")
|
||||
sheerka.evaluate_user_input("def concept five as 5")
|
||||
sheerka.evaluate_user_input("five")
|
||||
|
||||
h = list(sheerka.history(-1)) # all
|
||||
assert h == [
|
||||
hist("five", True),
|
||||
hist("def concept five as 5", True),
|
||||
hist("four", True),
|
||||
hist("def concept four as 4", True),
|
||||
hist("three", True),
|
||||
hist("def concept three as 3", True),
|
||||
hist("two", True),
|
||||
hist("def concept two as 2", True),
|
||||
hist("xxx", False),
|
||||
hist("one", True),
|
||||
hist("def concept one as 1", True),
|
||||
hist("Initializing Sheerka.", True)]
|
||||
|
||||
h = list(sheerka.history(2))
|
||||
assert h == [
|
||||
hist("two", True),
|
||||
hist("def concept two as 2", True)
|
||||
]
|
||||
|
||||
h = list(sheerka.history(2, 2))
|
||||
assert h == [
|
||||
hist("xxx", False),
|
||||
hist("one", True),
|
||||
]
|
||||
|
||||
h = list(sheerka.history(-1))
|
||||
assert h == [
|
||||
hist("xxx", False),
|
||||
hist("one", True),
|
||||
]
|
||||
Reference in New Issue
Block a user