ya2 · news · projects · code · about

renamed lib to ya2
[pmachines.git] / tests / lib / engine / test_joystick.py
1 from pathlib import Path
2 import sys
3 if '' in sys.path: sys.path.remove('')
4 sys.path.append(str(Path(__file__).parent.parent.parent))
5 from unittest import TestCase
6 from panda3d.core import loadPrcFileData
7 from ya2.engine.engine import Engine
8 from ya2.engine.joystick import JoystickMgr, JoystickState
9 from ya2.engine.gui.menu import NavInfoPerPlayer
10
11
12 class EngineJoystickTests(TestCase):
13
14 def setUp(self):
15 loadPrcFileData('', 'window-type none')
16 loadPrcFileData('', 'audio-library-name null')
17 self.eng = Engine()
18
19 def tearDown(self): self.eng.destroy()
20
21 def test_init(self):
22 self.assertIsInstance(self.eng.joystick_mgr, JoystickMgr)
23
24 def test_get_joystick(self):
25 j_state = self.eng.joystick_mgr.get_joystick(0)
26 self.assertIsInstance(j_state, JoystickState)
27 self.assertEqual(j_state.x, 0)
28 self.assertEqual(j_state.y, 0)
29 self.assertEqual(j_state.b0, 0)
30 self.assertEqual(j_state.b1, 0)
31 self.assertEqual(j_state.b2, 0)
32 self.assertEqual(j_state.b3, 0)
33 self.assertEqual(j_state.dpad_l, 0)
34 self.assertEqual(j_state.dpad_r, 0)
35 self.assertEqual(j_state.dpad_u, 0)
36 self.assertEqual(j_state.dpad_d, 0)
37 self.assertEqual(j_state.trigger_l, 0)
38 self.assertEqual(j_state.trigger_r, 0)
39 self.assertEqual(j_state.shoulder_l, 0)
40 self.assertEqual(j_state.shoulder_r, 0)
41 self.assertEqual(j_state.stick_l, 0)
42 self.assertEqual(j_state.stick_r, 0)
43
44 def test_get_joystick_val(self):
45 jmgr = self.eng.joystick_mgr
46 self.assertEqual(jmgr.get_joystick_val(0, 'face_x'), 0)
47 self.assertEqual(jmgr.get_joystick_val(0, 'face_y'), 0)
48 self.assertEqual(jmgr.get_joystick_val(0, 'face_a'), 0)
49 self.assertEqual(jmgr.get_joystick_val(0, 'face_b'), 0)
50 self.assertEqual(jmgr.get_joystick_val(0, 'dpad_l'), 0)
51 self.assertEqual(jmgr.get_joystick_val(0, 'dpad_r'), 0)
52 self.assertEqual(jmgr.get_joystick_val(0, 'dpad_u'), 0)
53 self.assertEqual(jmgr.get_joystick_val(0, 'dpad_d'), 0)
54 self.assertEqual(jmgr.get_joystick_val(0, 'trigger_l'), 0)
55 self.assertEqual(jmgr.get_joystick_val(0, 'trigger_r'), 0)
56 self.assertEqual(jmgr.get_joystick_val(0, 'shoulder_l'), 0)
57 self.assertEqual(jmgr.get_joystick_val(0, 'shoulder_r'), 0)
58 self.assertEqual(jmgr.get_joystick_val(0, 'stick_l'), 0)
59 self.assertEqual(jmgr.get_joystick_val(0, 'stick_r'), 0)
60
61 def test_bind_keyboard(self):
62 nav_info = [NavInfoPerPlayer(
63 'raw-arrow_left', 'raw-arrow_right', 'raw-arrow_up',
64 'raw-arrow_down', 'raw-rcontrol')]
65 self.eng.joystick_mgr.bind_keyboard(nav_info)
66 self.assertEqual(self.eng.joystick_mgr.nav[0].fire, 'raw-rcontrol')
67 self.eng.joystick_mgr.unbind_keyboard(0)
68 self.assertIsNone(self.eng.joystick_mgr.nav[0], None)