public void Update_SingleRegisteredKeyPressedUpdateCalledTwice_InputHandlerGetNotificationOnce() { var handlerMock = new Mock<IInputHandler>(); var managerMock = CreateInputManagerFake(keys.First()); var component = new InputComponent(managerMock, map); component.Handler = handlerMock.Object; // Assert the that only the first key is detected component.Update(); component.Update(); handlerMock.Verify(o => o.HandleInput(It.IsAny<CommandKeys>()), Times.Once); }
public void Update_MultipleRegistredKeysPressed_AllKeysAreGivenToInputHandler() { var handlerMock = new Mock<IInputHandler>(); var managerMock = CreateInputManagerFake(keys.ToArray()); var component = new InputComponent(managerMock, map); component.Handler = handlerMock.Object; // Assert that every test key is detected once component.Update(); foreach(var key in keys) handlerMock.Verify(o => o.HandleInput(map[key]), Times.Once); }
public void Update_SingleUnregistredKeyIsPressed_InputHandlerIsNotCalled() { // The component should not watch out for D var handlerMock = new Mock<IInputHandler>(); var managerMock = CreateInputManagerFake(Keys.D); var component = new InputComponent(managerMock, map); component.Handler = handlerMock.Object; // Make sure, that no test key was detected component.Update(); handlerMock.Verify(o => o.HandleInput(It.IsAny<CommandKeys>()), Times.Never); }
public void Update_OneRegistredAndOneUnregistredKeyArePressed_InputHandlerIsCalledOnce() { var handlerMock = new Mock<IInputHandler>(); var managerMock = CreateInputManagerFake(Keys.D, Keys.Down); var component = new InputComponent(managerMock, map); component.Handler = handlerMock.Object; component.Update(); handlerMock.Verify(o => o.HandleInput(It.IsAny<CommandKeys>()), Times.Once); handlerMock.Verify(o => o.HandleInput(map[Keys.Down]), Times.Once); }