Files
PyGame-Controller/pygameControls/tests/test_controller.py

31 lines
1.1 KiB
Python

import unittest
from unittest.mock import MagicMock
from pygameControls import Controller
class TestController(unittest.TestCase):
def setUp(self):
self.mock_js = MagicMock()
self.mock_js.get_button.side_effect = lambda i: 1 if i == 0 else 0
self.mock_js.get_axis.side_effect = lambda i: 0.5 if i == 1 else 0.0
self.mock_js.get_name.return_value = "DualSense Wireless Controller"
self.mock_js.get_guid.return_value = "030000004c0500000c0e000011010000"
self.controller = Controller(self.mock_js)
def test_button_press(self):
self.assertEqual(self.controller.get_button(0), 1)
self.assertEqual(self.controller.get_button(1), 0)
def test_axis_reading(self):
self.assertAlmostEqual(self.controller.get_axis(1), 0.5)
def test_profile_mapping(self):
self.assertEqual(self.controller.get_mapping(), "Sony DualSense")
def test_custom_config(self):
cfg = self.controller.get_custom_config()
self.assertIn("cross", cfg)
self.assertEqual(cfg["cross"], 0)
if __name__ == "__main__":
unittest.main()