def test_reset_removed_button_and_analog_handlers_and_clears_stored_data( self): mock = Mock() rc = RemoteController() rc.tick(RemoteControllerCommand(buttons=[False] * 32, analog=[])) rc.on_analog_values([2, 4], mock) rc.on_analog_values([3], mock) rc.on_button_pressed(5, mock) rc.tick( RemoteControllerCommand( buttons=[True] * 32, analog=[255, 254, 253, 123, 43, 65, 45, 42])) self.assertEqual(3, mock.call_count) self.assertEqual(254, rc.analog_value(1)) self.assertTrue(rc.is_button_pressed(1)) mock.reset_mock() rc.reset() self.assertEqual(0, rc.analog_value(1)) self.assertFalse(rc.is_button_pressed(1)) rc.tick( RemoteControllerCommand( buttons=[True] * 32, analog=[255, 254, 253, 123, 43, 65, 45, 42])) self.assertEqual(0, mock.call_count)
def test_last_analog_channel_state_can_be_read(self): rc = RemoteController() for i in range(10): analog = [0] * 10 # ith button is pressed analog[i] = 255 rc.tick( RemoteControllerCommand(buttons=[False] * 32, analog=analog)) for j in range(10): self.assertEqual(analog[i], rc.analog_value(i))