From 98ea8ef5b9033556443b1f62d1067fdce8aff838 Mon Sep 17 00:00:00 2001 From: Lerking Date: Wed, 7 May 2025 06:29:41 +0200 Subject: [PATCH 1/8] Add pygameControls/tests/test_controller.py --- pygameControls/tests/test_controller.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 pygameControls/tests/test_controller.py diff --git a/pygameControls/tests/test_controller.py b/pygameControls/tests/test_controller.py new file mode 100644 index 0000000..76383a2 --- /dev/null +++ b/pygameControls/tests/test_controller.py @@ -0,0 +1,13 @@ +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. \ No newline at end of file From a6b4964e8016d478d0a21ca310f443278a095615 Mon Sep 17 00:00:00 2001 From: Lerking Date: Wed, 7 May 2025 06:49:57 +0200 Subject: [PATCH 2/8] Update pygameControls/tests/test_controller.py --- pygameControls/tests/test_controller.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pygameControls/tests/test_controller.py b/pygameControls/tests/test_controller.py index 76383a2..f667793 100644 --- a/pygameControls/tests/test_controller.py +++ b/pygameControls/tests/test_controller.py @@ -10,4 +10,22 @@ class TestController(unittest.TestCase): self.mock_js.get_name.return_value = "DualSense Wireless Controller" self.mock_js.get_guid.return_value = "030000004c0500000c0e000011010000" - self. \ No newline at end of file + 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() \ No newline at end of file From 30379bd8e3365e4e13d882761c861e9e4ed2c7c2 Mon Sep 17 00:00:00 2001 From: Lerking Date: Wed, 7 May 2025 07:10:10 +0200 Subject: [PATCH 3/8] Add .gitea/workflows/test.yml --- .gitea/workflows/test.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .gitea/workflows/test.yml diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml new file mode 100644 index 0000000..051435c --- /dev/null +++ b/.gitea/workflows/test.yml @@ -0,0 +1,29 @@ +name: Run Controller Tests + +on: + push: + branches-ignore: [ main ] + pull-request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/setup-python@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Install Dependencies + run: + python -m pip install --upgrade pip + pip install pygame + + - name: Run Unit Tests + run: + python -m unittest discover tests \ No newline at end of file From 4cf83ce9d1db822784171247ee701efaa07c1e1d Mon Sep 17 00:00:00 2001 From: Lerking Date: Wed, 7 May 2025 07:19:22 +0200 Subject: [PATCH 4/8] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bdb451..bd26304 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # PyGame-Controller -Small module to make it easy to add controller support. \ No newline at end of file +Small module to make it easy to add controller support. + +![Tests](https://gitpot-lerking.servehttp.com/api/v1/badges/lerking/CodingPirates/PyGame-Controller/workflow/test.yml) \ No newline at end of file From cc8afa85196a2c87be23d0ad11512e7f6bd7e03a Mon Sep 17 00:00:00 2001 From: Lerking Date: Wed, 7 May 2025 07:20:11 +0200 Subject: [PATCH 5/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bd26304..05a3d5e 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ Small module to make it easy to add controller support. -![Tests](https://gitpot-lerking.servehttp.com/api/v1/badges/lerking/CodingPirates/PyGame-Controller/workflow/test.yml) \ No newline at end of file +![Tests](https://gitpot-lerking.servehttp.com/api/v1/badges/lerking/CodingPirates/PyGame-Controller/workflows/test.yml) \ No newline at end of file From 83d7177a78c8972a6d65c552f02bc17b19fa6b17 Mon Sep 17 00:00:00 2001 From: Lerking Date: Wed, 7 May 2025 07:21:12 +0200 Subject: [PATCH 6/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 05a3d5e..1e73151 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ Small module to make it easy to add controller support. -![Tests](https://gitpot-lerking.servehttp.com/api/v1/badges/lerking/CodingPirates/PyGame-Controller/workflows/test.yml) \ No newline at end of file +![Tests](https://gitpot-lerking.servehttp.com/api/v1/badges/CodingPirates/PyGame-Controller/workflows/test.yml) \ No newline at end of file From 0a892386ae527acf878debb5ca18331b45eef460 Mon Sep 17 00:00:00 2001 From: Lerking Date: Wed, 7 May 2025 07:30:05 +0200 Subject: [PATCH 7/8] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e73151..ca0caa4 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,5 @@ Small module to make it easy to add controller support. -![Tests](https://gitpot-lerking.servehttp.com/api/v1/badges/CodingPirates/PyGame-Controller/workflows/test.yml) \ No newline at end of file +![Tests](https://gitpot-lerking.servehttp.com/api/v1/badges/CodingPirates/PyGame-Controller/workflows/test.yml) +![Version](https://img.shields.io/badge/version-0.2.2-blue) \ No newline at end of file From 21da6857b0d3f45dd5cb3667984736ff01b1152f Mon Sep 17 00:00:00 2001 From: Jan Lerking Date: Wed, 7 May 2025 16:48:39 +0200 Subject: [PATCH 8/8] Updated. /JL --- pygameControls/controller.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pygameControls/controller.py b/pygameControls/controller.py index 69a6655..057b31f 100644 --- a/pygameControls/controller.py +++ b/pygameControls/controller.py @@ -1,7 +1,7 @@ import pygame from . import globals -__version__ = "0.2.1" +__version__ = "0.2.2" class Controllers: def __init__(self, joy): diff --git a/setup.py b/setup.py index 2a834e7..2174b0e 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ if __name__ == "__main__": setup( name='pygameControls', - version='0.2.1', + version='0.2.2', packages=find_packages(), install_requires=[], author='Jan Lerking',