private void readControllerState() { final PeekingIterator<ControllerEvent> eventIterator = _controllerWrapper.getEvents(); if (eventIterator.hasNext()) { _currentControllerState = new ControllerState(_currentControllerState); while (eventIterator.hasNext()) { final ControllerEvent event = eventIterator.next(); _currentControllerState.addEvent(event); } } }
private void readControllerState() { final PeekingIterator<ControllerEvent> eventIterator = _controllerWrapper.getEvents(); if (eventIterator.hasNext()) { _currentControllerState = new ControllerState(_currentControllerState); while (eventIterator.hasNext()) { _currentControllerState.addEvent(eventIterator.next()); } } }
@Test public void testTooManyChanges2() throws Exception { final PeekingIterator<MouseState> iter = new NeverEndingMouseIterator(); keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())).atLeastOnce(); expect(mouseWrapper.getEvents()).andReturn(iter).atLeastOnce(); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).atLeastOnce(); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).atLeastOnce(); expect(focusWrapper.getAndClearFocusLost()).andReturn(false).atLeastOnce(); replay(mocks); pl.readState(); }
@Test public void testTooManyChanges1() throws Exception { final PeekingIterator<KeyEvent> iter = new NeverEndingKeyIterator(); keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); expect(keyboardWrapper.getEvents()).andReturn(iter).atLeastOnce(); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(noMice.iterator())).atLeastOnce(); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).atLeastOnce(); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).atLeastOnce(); expect(focusWrapper.getAndClearFocusLost()).andReturn(false).atLeastOnce(); replay(mocks); pl.readState(); }
@Test public void testLostFocus1() throws Exception { keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(Adown.iterator())); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(noMice.iterator())).times(2); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).times(2); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).times(2); expect(focusWrapper.getAndClearFocusLost()).andReturn(true); replay(mocks); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("2 states", 2, inputStates.size()); is = inputStates.get(0); assertTrue("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); assertTrue("lost focus", InputState.LOST_FOCUS == inputStates.get(1)); }
@Test public void testKeyboardBasic1() throws Exception { keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(Adown.iterator())); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(noMice.iterator())).times(3); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).times(3); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).times(3); expect(focusWrapper.getAndClearFocusLost()).andReturn(false).atLeastOnce(); replay(mocks); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("1 state", 1, inputStates.size()); is = inputStates.get(0); assertTrue("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("0 states", 0, inputStates.size()); }
@Test public void testLostFocus2() throws Exception { keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(Adown.iterator())); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(noMice.iterator())).times(3); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).times(3); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).times(3); expect(focusWrapper.getAndClearFocusLost()).andReturn(false); expect(focusWrapper.getAndClearFocusLost()).andReturn(true); replay(mocks); pl.readState(); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("2 states", 2, inputStates.size()); is = inputStates.get(0); assertTrue("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); is = inputStates.get(1); assertEquals("lost focus", InputState.LOST_FOCUS, is); assertFalse("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); }
@Test public void testKeyboardBasic2() throws Exception { final PeekingIterator<KeyEvent> adau = Iterators.peekingIterator(AdownAup.iterator()); keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); expect(keyboardWrapper.getEvents()).andReturn(adau); expect(keyboardWrapper.getEvents()).andReturn(adau); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(noMice.iterator())).times(4); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).times(4); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).times(4); expect(focusWrapper.getAndClearFocusLost()).andReturn(false).times(2); replay(mocks); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("2 states", 2, inputStates.size()); is = inputStates.get(0); assertTrue("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); is = inputStates.get(1); assertFalse("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("0 states", 0, inputStates.size()); }
@Test public void testLostFocus3() throws Exception { keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); expect(keyboardWrapper.getEvents()).andReturn(Iterators.peekingIterator(noKeys.iterator())).times(3); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(buttonDown.iterator())); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(noMice.iterator())).times(2); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).times(3); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).times(3); expect(focusWrapper.getAndClearFocusLost()).andReturn(false); expect(focusWrapper.getAndClearFocusLost()).andReturn(true); replay(mocks); pl.readState(); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("2 states", 2, inputStates.size()); is = inputStates.get(0); assertFalse("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); assertEquals("mb down", ButtonState.DOWN, is.getMouseState().getButtonState(MouseButton.LEFT)); is = inputStates.get(1); assertEquals("lost focus", InputState.LOST_FOCUS, is); assertFalse("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); assertEquals("mb up", ButtonState.UP, is.getMouseState().getButtonState(MouseButton.LEFT)); }
@Test public void testKeyboardBasic3() throws Exception { keyboardWrapper.init(); mouseWrapper.init(); controllerWrapper.init(); gestureWrapper.init(); focusWrapper.init(); final PeekingIterator<KeyEvent> keyIterator = Iterators.peekingIterator(AdownBdown.iterator()); expect(keyboardWrapper.getEvents()).andReturn(keyIterator).times(4); expect(mouseWrapper.getEvents()).andReturn(Iterators.peekingIterator(noMice.iterator())).times(4); expect(controllerWrapper.getEvents()).andReturn(Iterators.peekingIterator(nothing.iterator())).times(4); expect(gestureWrapper.getEvents()).andReturn(Iterators.peekingIterator(noGestures.iterator())).times(4); expect(focusWrapper.getAndClearFocusLost()).andReturn(false).times(2); replay(mocks); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("2 states", 2, inputStates.size()); is = inputStates.get(0); assertTrue("a down", is.getKeyboardState().isDown(Key.A)); assertFalse("b down", is.getKeyboardState().isDown(Key.B)); is = inputStates.get(1); assertTrue("a down", is.getKeyboardState().isDown(Key.A)); assertTrue("b down", is.getKeyboardState().isDown(Key.B)); pl.readState(); inputStates = pl.drainAvailableStates(); assertEquals("0 states", 0, inputStates.size()); }