from core.sheerka.services.SheerkaHistoryManager import hist, SheerkaHistoryManager from tests.TestUsingFileBasedSheerka import TestUsingFileBasedSheerka class TestSheerkaHistoryManager(TestUsingFileBasedSheerka): def test_i_can_retrieve_history(self): sheerka = self.get_sheerka() service = sheerka.services[SheerkaHistoryManager.NAME] sheerka.save_execution_context = True 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(service.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.", None) ] h = list(service.history(2)) assert h == [ hist("five", True), hist("def concept five as 5", True) ] h = list(service.history(2, 2)) assert h == [ hist("four", True), hist("def concept four as 4", True), ]