def test_default_event_handling(self):
     screen = SampleGameScreenUI(GameConfig(), GameModel())
     loop_events = GameLoopEvents(screen)
     loop_events.loop_setup()
     loop = GameLoop(loop_events)
     # Python sorcery!
     loop._GameLoop__handle_event(pygame.event.Event(pygame.MOUSEBUTTONDOWN))
     self.assertTrue(screen.evh.is_called)
示例#2
0
 def test_event_handling_basic(self):
     """
     Test basic event handling of non-keyboard-based events.
     """
     screen = GameScreen(GameConfig(), GameModel())
     loop_events = GameLoopEvents(screen)
     evh1 = EventHandlerMock()
     loop_events.add_event_handler(self.btn_down_event, evh1.handle_event)
     loop = GameLoop(loop_events)
     # More Python sorcery!
     loop._GameLoop__handle_event(self.btn_down_event)
     self.assertTrue(evh1.is_called)
示例#3
0
 def test_event_handling_kbd_basic(self):
     """
     Test basic event handling of keyboard-based events.
     """
     screen = GameScreen(GameConfig(), GameModel())
     loop_events = KeyboardHandlingLoopEventsMock(screen)
     evh1 = EventHandlerMock()
     loop_events.key_controls.register_key(pygame.K_UP, evh1.handle_event)
     loop_events.attach_event_handlers()
     loop = GameLoop(loop_events)
     # More Python sorcery!
     loop._GameLoop__handle_event(self.press_up_key_event)
     self.assertTrue(evh1.is_called)
示例#4
0
 def test_event_handling_multiple(self):
    """
    Test that multiple event handlers can listen on the same non-keyboard-based
    event.
    """
    screen = GameScreen(GameConfig(), GameModel())
    loop_events = GameLoopEvents(screen)
    evh1 = EventHandlerMock()
    evh2 = EventHandlerMock()
    loop_events.add_event_handler(self.btn_down_event, evh1.handle_event)
    loop_events.add_event_handler(self.btn_down_event, evh2.handle_event)
    loop = GameLoop(loop_events)
    # More Python sorcery!
    loop._GameLoop__handle_event(self.btn_down_event)
    self.assertTrue(evh1.is_called)
    self.assertTrue(evh2.is_called)