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("five", True), hist("def concept five as 5", True) ] h = list(sheerka.history(2, 2)) assert h == [ hist("four", True), hist("def concept four as 4", True), ]