import unittest import builtins import typing from typing import Any from typing import Optional from game import Game from world import World from gameobject import GameObject from vector2 import Vector2 class GameTest(unittest.TestCase): class InputShim: """ Třída pro nahrazení standardní funkce input pro vstup dat """ __idx:int = 0 __lines:list[str] = [] @staticmethod def set_input_data(lines:list[str]): GameTest.InputShim.__idx = 0 GameTest.InputShim.__lines = lines builtins.input = typing.cast(Any, GameTest.InputShim.__next) @staticmethod def get_latest_input() -> Optional[str]: if GameTest.InputShim.__idx==0: return None else: return GameTest.InputShim.__lines[GameTest.InputShim.__idx-1] @staticmethod def __next(prompt:str=""): assert GameTest.InputShim.__idx