88
99partial class CoreTests
1010{
11+ private static readonly Key [ ] sKeys = Enum . GetValues ( typeof ( Key ) ) . Cast < Key > ( ) . ToArray ( ) ;
12+
1113 [ Test ]
1214 [ Category ( "Devices" ) ]
1315 public void Devices_Keyboard_CanGetKeyCodeFromKeyboardKey ( )
1416 {
1517 var keyboard = InputSystem . AddDevice < Keyboard > ( ) ;
1618
19+ Assert . That ( keyboard . spaceKey . keyCode , Is . EqualTo ( Key . Space ) ) ;
20+ Assert . That ( keyboard . enterKey . keyCode , Is . EqualTo ( Key . Enter ) ) ;
21+ Assert . That ( keyboard . tabKey . keyCode , Is . EqualTo ( Key . Tab ) ) ;
22+ Assert . That ( keyboard . backquoteKey . keyCode , Is . EqualTo ( Key . Backquote ) ) ;
23+ Assert . That ( keyboard . quoteKey . keyCode , Is . EqualTo ( Key . Quote ) ) ;
24+ Assert . That ( keyboard . semicolonKey . keyCode , Is . EqualTo ( Key . Semicolon ) ) ;
25+ Assert . That ( keyboard . commaKey . keyCode , Is . EqualTo ( Key . Comma ) ) ;
26+ Assert . That ( keyboard . periodKey . keyCode , Is . EqualTo ( Key . Period ) ) ;
27+ Assert . That ( keyboard . slashKey . keyCode , Is . EqualTo ( Key . Slash ) ) ;
28+ Assert . That ( keyboard . backslashKey . keyCode , Is . EqualTo ( Key . Backslash ) ) ;
29+ Assert . That ( keyboard . leftBracketKey . keyCode , Is . EqualTo ( Key . LeftBracket ) ) ;
30+ Assert . That ( keyboard . rightBracketKey . keyCode , Is . EqualTo ( Key . RightBracket ) ) ;
31+ Assert . That ( keyboard . minusKey . keyCode , Is . EqualTo ( Key . Minus ) ) ;
32+ Assert . That ( keyboard . equalsKey . keyCode , Is . EqualTo ( Key . Equals ) ) ;
33+
1734 Assert . That ( keyboard . aKey . keyCode , Is . EqualTo ( Key . A ) ) ;
1835 Assert . That ( keyboard . bKey . keyCode , Is . EqualTo ( Key . B ) ) ;
1936 Assert . That ( keyboard . cKey . keyCode , Is . EqualTo ( Key . C ) ) ;
2037 Assert . That ( keyboard . dKey . keyCode , Is . EqualTo ( Key . D ) ) ;
2138 Assert . That ( keyboard . eKey . keyCode , Is . EqualTo ( Key . E ) ) ;
2239 Assert . That ( keyboard . fKey . keyCode , Is . EqualTo ( Key . F ) ) ;
2340 Assert . That ( keyboard . gKey . keyCode , Is . EqualTo ( Key . G ) ) ;
24- // TODO Make this complete
41+ Assert . That ( keyboard . hKey . keyCode , Is . EqualTo ( Key . H ) ) ;
42+ Assert . That ( keyboard . iKey . keyCode , Is . EqualTo ( Key . I ) ) ;
43+ Assert . That ( keyboard . jKey . keyCode , Is . EqualTo ( Key . J ) ) ;
44+ Assert . That ( keyboard . kKey . keyCode , Is . EqualTo ( Key . K ) ) ;
45+ Assert . That ( keyboard . lKey . keyCode , Is . EqualTo ( Key . L ) ) ;
46+ Assert . That ( keyboard . mKey . keyCode , Is . EqualTo ( Key . M ) ) ;
47+ Assert . That ( keyboard . nKey . keyCode , Is . EqualTo ( Key . N ) ) ;
48+ Assert . That ( keyboard . oKey . keyCode , Is . EqualTo ( Key . O ) ) ;
49+ Assert . That ( keyboard . pKey . keyCode , Is . EqualTo ( Key . P ) ) ;
50+ Assert . That ( keyboard . qKey . keyCode , Is . EqualTo ( Key . Q ) ) ;
51+ Assert . That ( keyboard . rKey . keyCode , Is . EqualTo ( Key . R ) ) ;
52+ Assert . That ( keyboard . sKey . keyCode , Is . EqualTo ( Key . S ) ) ;
53+ Assert . That ( keyboard . tKey . keyCode , Is . EqualTo ( Key . T ) ) ;
54+ Assert . That ( keyboard . uKey . keyCode , Is . EqualTo ( Key . U ) ) ;
55+ Assert . That ( keyboard . vKey . keyCode , Is . EqualTo ( Key . V ) ) ;
56+ Assert . That ( keyboard . wKey . keyCode , Is . EqualTo ( Key . W ) ) ;
57+ Assert . That ( keyboard . xKey . keyCode , Is . EqualTo ( Key . X ) ) ;
58+ Assert . That ( keyboard . yKey . keyCode , Is . EqualTo ( Key . Y ) ) ;
59+ Assert . That ( keyboard . zKey . keyCode , Is . EqualTo ( Key . Z ) ) ;
60+
61+ Assert . That ( keyboard . digit1Key . keyCode , Is . EqualTo ( Key . Digit1 ) ) ;
62+ Assert . That ( keyboard . digit2Key . keyCode , Is . EqualTo ( Key . Digit2 ) ) ;
63+ Assert . That ( keyboard . digit3Key . keyCode , Is . EqualTo ( Key . Digit3 ) ) ;
64+ Assert . That ( keyboard . digit4Key . keyCode , Is . EqualTo ( Key . Digit4 ) ) ;
65+ Assert . That ( keyboard . digit5Key . keyCode , Is . EqualTo ( Key . Digit5 ) ) ;
66+ Assert . That ( keyboard . digit6Key . keyCode , Is . EqualTo ( Key . Digit6 ) ) ;
67+ Assert . That ( keyboard . digit7Key . keyCode , Is . EqualTo ( Key . Digit7 ) ) ;
68+ Assert . That ( keyboard . digit8Key . keyCode , Is . EqualTo ( Key . Digit8 ) ) ;
69+ Assert . That ( keyboard . digit9Key . keyCode , Is . EqualTo ( Key . Digit9 ) ) ;
70+ Assert . That ( keyboard . digit0Key . keyCode , Is . EqualTo ( Key . Digit0 ) ) ;
71+
72+ Assert . That ( keyboard . leftShiftKey . keyCode , Is . EqualTo ( Key . LeftShift ) ) ;
73+ Assert . That ( keyboard . rightShiftKey . keyCode , Is . EqualTo ( Key . RightShift ) ) ;
74+ Assert . That ( keyboard . leftAltKey . keyCode , Is . EqualTo ( Key . LeftAlt ) ) ;
75+ Assert . That ( keyboard . rightAltKey . keyCode , Is . EqualTo ( Key . RightAlt ) ) ;
76+ Assert . That ( keyboard . leftCtrlKey . keyCode , Is . EqualTo ( Key . LeftCtrl ) ) ;
77+ Assert . That ( keyboard . rightCtrlKey . keyCode , Is . EqualTo ( Key . RightCtrl ) ) ;
78+ Assert . That ( keyboard . leftMetaKey . keyCode , Is . EqualTo ( Key . LeftMeta ) ) ;
79+ Assert . That ( keyboard . rightMetaKey . keyCode , Is . EqualTo ( Key . RightMeta ) ) ;
80+ Assert . That ( keyboard . leftWindowsKey . keyCode , Is . EqualTo ( Key . LeftWindows ) ) ;
81+ Assert . That ( keyboard . rightWindowsKey . keyCode , Is . EqualTo ( Key . RightWindows ) ) ;
82+ Assert . That ( keyboard . leftAppleKey . keyCode , Is . EqualTo ( Key . LeftApple ) ) ;
83+ Assert . That ( keyboard . rightAppleKey . keyCode , Is . EqualTo ( Key . RightApple ) ) ;
84+ Assert . That ( keyboard . leftCommandKey . keyCode , Is . EqualTo ( Key . LeftCommand ) ) ;
85+ Assert . That ( keyboard . rightCommandKey . keyCode , Is . EqualTo ( Key . RightCommand ) ) ;
86+ Assert . That ( keyboard . contextMenuKey . keyCode , Is . EqualTo ( Key . ContextMenu ) ) ;
87+ Assert . That ( keyboard . escapeKey . keyCode , Is . EqualTo ( Key . Escape ) ) ;
88+ Assert . That ( keyboard . leftArrowKey . keyCode , Is . EqualTo ( Key . LeftArrow ) ) ;
89+ Assert . That ( keyboard . rightArrowKey . keyCode , Is . EqualTo ( Key . RightArrow ) ) ;
90+ Assert . That ( keyboard . upArrowKey . keyCode , Is . EqualTo ( Key . UpArrow ) ) ;
91+ Assert . That ( keyboard . downArrowKey . keyCode , Is . EqualTo ( Key . DownArrow ) ) ;
92+ Assert . That ( keyboard . backspaceKey . keyCode , Is . EqualTo ( Key . Backspace ) ) ;
93+ Assert . That ( keyboard . pageDownKey . keyCode , Is . EqualTo ( Key . PageDown ) ) ;
94+ Assert . That ( keyboard . pageUpKey . keyCode , Is . EqualTo ( Key . PageUp ) ) ;
95+ Assert . That ( keyboard . homeKey . keyCode , Is . EqualTo ( Key . Home ) ) ;
96+ Assert . That ( keyboard . endKey . keyCode , Is . EqualTo ( Key . End ) ) ;
97+ Assert . That ( keyboard . insertKey . keyCode , Is . EqualTo ( Key . Insert ) ) ;
98+ Assert . That ( keyboard . deleteKey . keyCode , Is . EqualTo ( Key . Delete ) ) ;
99+ Assert . That ( keyboard . capsLockKey . keyCode , Is . EqualTo ( Key . CapsLock ) ) ;
100+ Assert . That ( keyboard . scrollLockKey . keyCode , Is . EqualTo ( Key . ScrollLock ) ) ;
101+ Assert . That ( keyboard . numLockKey . keyCode , Is . EqualTo ( Key . NumLock ) ) ;
102+ Assert . That ( keyboard . printScreenKey . keyCode , Is . EqualTo ( Key . PrintScreen ) ) ;
103+ Assert . That ( keyboard . pauseKey . keyCode , Is . EqualTo ( Key . Pause ) ) ;
104+ Assert . That ( keyboard . numpadEnterKey . keyCode , Is . EqualTo ( Key . NumpadEnter ) ) ;
105+ Assert . That ( keyboard . numpadDivideKey . keyCode , Is . EqualTo ( Key . NumpadDivide ) ) ;
106+ Assert . That ( keyboard . numpadMultiplyKey . keyCode , Is . EqualTo ( Key . NumpadMultiply ) ) ;
107+ Assert . That ( keyboard . numpadMinusKey . keyCode , Is . EqualTo ( Key . NumpadMinus ) ) ;
108+ Assert . That ( keyboard . numpadPlusKey . keyCode , Is . EqualTo ( Key . NumpadPlus ) ) ;
109+ Assert . That ( keyboard . numpadPeriodKey . keyCode , Is . EqualTo ( Key . NumpadPeriod ) ) ;
110+ Assert . That ( keyboard . numpadEqualsKey . keyCode , Is . EqualTo ( Key . NumpadEquals ) ) ;
111+ Assert . That ( keyboard . numpad0Key . keyCode , Is . EqualTo ( Key . Numpad0 ) ) ;
112+ Assert . That ( keyboard . numpad1Key . keyCode , Is . EqualTo ( Key . Numpad1 ) ) ;
113+ Assert . That ( keyboard . numpad2Key . keyCode , Is . EqualTo ( Key . Numpad2 ) ) ;
114+ Assert . That ( keyboard . numpad3Key . keyCode , Is . EqualTo ( Key . Numpad3 ) ) ;
115+ Assert . That ( keyboard . numpad4Key . keyCode , Is . EqualTo ( Key . Numpad4 ) ) ;
116+ Assert . That ( keyboard . numpad5Key . keyCode , Is . EqualTo ( Key . Numpad5 ) ) ;
117+ Assert . That ( keyboard . numpad6Key . keyCode , Is . EqualTo ( Key . Numpad6 ) ) ;
118+ Assert . That ( keyboard . numpad7Key . keyCode , Is . EqualTo ( Key . Numpad7 ) ) ;
119+ Assert . That ( keyboard . numpad8Key . keyCode , Is . EqualTo ( Key . Numpad8 ) ) ;
120+ Assert . That ( keyboard . numpad9Key . keyCode , Is . EqualTo ( Key . Numpad9 ) ) ;
121+ Assert . That ( keyboard . f1Key . keyCode , Is . EqualTo ( Key . F1 ) ) ;
122+ Assert . That ( keyboard . f2Key . keyCode , Is . EqualTo ( Key . F2 ) ) ;
123+ Assert . That ( keyboard . f3Key . keyCode , Is . EqualTo ( Key . F3 ) ) ;
124+ Assert . That ( keyboard . f4Key . keyCode , Is . EqualTo ( Key . F4 ) ) ;
125+ Assert . That ( keyboard . f5Key . keyCode , Is . EqualTo ( Key . F5 ) ) ;
126+ Assert . That ( keyboard . f6Key . keyCode , Is . EqualTo ( Key . F6 ) ) ;
127+ Assert . That ( keyboard . f7Key . keyCode , Is . EqualTo ( Key . F7 ) ) ;
128+ Assert . That ( keyboard . f8Key . keyCode , Is . EqualTo ( Key . F8 ) ) ;
129+ Assert . That ( keyboard . f9Key . keyCode , Is . EqualTo ( Key . F9 ) ) ;
130+ Assert . That ( keyboard . f10Key . keyCode , Is . EqualTo ( Key . F10 ) ) ;
131+ Assert . That ( keyboard . f11Key . keyCode , Is . EqualTo ( Key . F11 ) ) ;
132+ Assert . That ( keyboard . f12Key . keyCode , Is . EqualTo ( Key . F12 ) ) ;
133+ Assert . That ( keyboard . oem1Key . keyCode , Is . EqualTo ( Key . OEM1 ) ) ;
134+ Assert . That ( keyboard . oem2Key . keyCode , Is . EqualTo ( Key . OEM2 ) ) ;
135+ Assert . That ( keyboard . oem3Key . keyCode , Is . EqualTo ( Key . OEM3 ) ) ;
136+ Assert . That ( keyboard . oem4Key . keyCode , Is . EqualTo ( Key . OEM4 ) ) ;
137+ Assert . That ( keyboard . oem5Key . keyCode , Is . EqualTo ( Key . OEM5 ) ) ;
138+ Assert . That ( keyboard . f13Key . keyCode , Is . EqualTo ( Key . F13 ) ) ;
139+ Assert . That ( keyboard . f14Key . keyCode , Is . EqualTo ( Key . F14 ) ) ;
140+ Assert . That ( keyboard . f15Key . keyCode , Is . EqualTo ( Key . F15 ) ) ;
141+ Assert . That ( keyboard . f16Key . keyCode , Is . EqualTo ( Key . F16 ) ) ;
142+ Assert . That ( keyboard . f17Key . keyCode , Is . EqualTo ( Key . F17 ) ) ;
143+ Assert . That ( keyboard . f18Key . keyCode , Is . EqualTo ( Key . F18 ) ) ;
144+ Assert . That ( keyboard . f19Key . keyCode , Is . EqualTo ( Key . F19 ) ) ;
145+ Assert . That ( keyboard . f20Key . keyCode , Is . EqualTo ( Key . F20 ) ) ;
146+ Assert . That ( keyboard . f21Key . keyCode , Is . EqualTo ( Key . F21 ) ) ;
147+ Assert . That ( keyboard . f22Key . keyCode , Is . EqualTo ( Key . F22 ) ) ;
148+ Assert . That ( keyboard . f23Key . keyCode , Is . EqualTo ( Key . F23 ) ) ;
149+ Assert . That ( keyboard . f24Key . keyCode , Is . EqualTo ( Key . F24 ) ) ;
150+ Assert . That ( keyboard . mediaPlayPause . keyCode , Is . EqualTo ( Key . MediaPlayPause ) ) ;
151+ Assert . That ( keyboard . mediaRewind . keyCode , Is . EqualTo ( Key . MediaRewind ) ) ;
152+ Assert . That ( keyboard . mediaForward . keyCode , Is . EqualTo ( Key . MediaForward ) ) ;
25153 }
26-
154+
27155 [ Test , Description ( "https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-1541" ) ]
28156 [ Category ( "Devices" ) ]
29157 public void Devices_Keyboard_AllKeysEnumeratesAllKeyControls ( )
@@ -37,16 +165,21 @@ public void Devices_Keyboard_AllKeysEnumeratesAllKeyControls()
37165 Assert . NotNull ( key , $ "Key at index { index ++ } was null") ;
38166 }
39167 }
40-
168+
41169 [ Test ]
42170 [ Category ( "Devices" ) ]
43171 public void Devices_Keyboard_AllKeysShouldContainKeyControlsCorrespondingToAllKeys ( )
44172 {
45173 var keyboard = InputSystem . AddDevice < Keyboard > ( ) ;
46174 var allKeys = keyboard . allKeys ;
47- foreach ( var key in Enum . GetValues ( typeof ( Key ) ) . Cast < Key > ( ) )
175+ foreach ( var key in sKeys )
48176 {
49- Assert . That ( allKeys . Contains ( keyboard . spaceKey ) , Is . True ) ;
177+ // Key.None is documented as an invalid key so skip it in this test.
178+ // Sub-script operator is documented to through for invalid key.
179+ if ( key == Key . None )
180+ continue ;
181+
182+ Assert . That ( allKeys . Contains ( keyboard [ key ] ) , Is . True ) ;
50183 }
51184 }
52185
@@ -55,15 +188,13 @@ public void Devices_Keyboard_AllKeysShouldContainKeyControlsCorrespondingToAllKe
55188 public void Devices_Keyboard_SubscriptOperatorCanLookupKeyControlOfCorrespondingKey ( )
56189 {
57190 var keyboard = InputSystem . AddDevice < Keyboard > ( ) ;
58- foreach ( var key in Enum . GetValues ( typeof ( Key ) ) . Cast < Key > ( ) )
191+ foreach ( var key in sKeys )
59192 {
60- // Key.None is documented as an invalid key so skip it in this test and instead we verify in test below
61- // that exception is thrown if attempting to lookup key-control using it .
193+ // Key.None is documented as an invalid key so skip it in this test.
194+ // Sub-script operator is documented to through for invalid key .
62195 if ( key == Key . None )
63196 continue ;
64- if ( key == Key . IMESelected )
65- continue ;
66-
197+
67198 var keyControl = keyboard [ key ] ;
68199 Assert . That ( keyControl , Is . Not . Null ) ;
69200 Assert . That ( keyControl . keyCode , Is . EqualTo ( key ) ) ;
@@ -76,9 +207,9 @@ public void Devices_Keyboard_SubscriptOperatorThrowsForInvalidOrOutOfRangeKey()
76207 {
77208 var keyboard = InputSystem . AddDevice < Keyboard > ( ) ;
78209 var minKey = Enum . GetValues ( typeof ( Key ) ) . Cast < Key > ( ) . Min ( ) ;
79- var invalidMin = ( Key ) ( ( int ) minKey ) - 1 ;
210+ var invalidMin = ( Key ) ( ( int ) minKey ) - 1 ;
80211 var maxKey = Enum . GetValues ( typeof ( Key ) ) . Cast < Key > ( ) . Max ( ) ;
81- var invalidMax = ( Key ) ( ( int ) maxKey ) + 1 ;
212+ var invalidMax = ( Key ) ( ( int ) maxKey ) + 1 ;
82213 Assert . Throws < ArgumentOutOfRangeException > ( ( ) => { _ = keyboard [ Key . None ] ; } ) ;
83214 Assert . Throws < ArgumentOutOfRangeException > ( ( ) => { _ = keyboard [ invalidMin ] ; } ) ;
84215 Assert . Throws < ArgumentOutOfRangeException > ( ( ) => { _ = keyboard [ invalidMax ] ; } ) ;
0 commit comments