class TestGameStateMainMenu(unittest.TestCase): def setUp(self): self.manager = GameStateManager() self.manager.state = "MainMenu" def test_handle_events_exits(self): events = [pygame.event.Event(pygame.locals.QUIT)] res = self.manager.handle_events(events) self.assertEqual(res, False) # Game doesn't exit from main menu
class TestGameStateGame(unittest.TestCase): def setUp(self): pygame.init() self.manager = GameStateManager() self.manager.state = "Game" def test_get_rendered_screen_surface(self): screen = self.manager.get_rendered_screen() self.assertTrue(isinstance(screen, pygame.Surface)) # Not valid pygame.Surface returned def test_get_rendered_screen_correct_size(self): screen = self.manager.get_rendered_screen((500, 500)) self.assertEqual(screen.get_size(), (500, 500)) # Returned image should be of correct size def test_handle_events_changes_state(self): events = [pygame.event.Event(pygame.locals.QUIT)] res = self.manager.handle_events(events) self.assertEqual(res, True, "Game exit from game state") self.assertEqual(self.manager.state, "InGameMenu") # Game doesn't exit to ingame menu