public void PlayerOneSelection_With_W_Pressed_Delegate_Called_With_Correct_Arguments()
        {
            //Arrange
            IInputManager manager = Substitute.For <IInputManager>();

            manager.IsAnyKeyBeingPressed().Returns(KeyCode.W);
            _behaviour = new MainMenuManagerBehaviour(manager);

            KeyCode w = KeyCode.W;
            Player  expectedPlayer = Player.PLAYER_ONE;

            //Act
            _behaviour.PlayerOneSelection();

            //Assert
            manager.Received().GetDirectionFromKeyCode(w);
            manager.Received().GetSchemeFromKeyCode(w);
            Assert.AreEqual(expectedPlayer, _behaviour.CurrentAmountOfPlayersJoin);
        }
        public void PlayerOneSelection_With_Wrong_Key_Pressed_Delegate_Not_Called_Player_Not_Incremented()
        {
            //Arrange
            IInputManager manager = Substitute.For <IInputManager>();
            KeyCode       f       = KeyCode.None;

            manager.IsAnyKeyBeingPressed().Returns(f);
            _behaviour = new MainMenuManagerBehaviour(manager);

            Player expectedPlayer = Player.PLAYER_ONE;

            //Act
            _behaviour.PlayerOneSelection();

            //Assert
            manager.DidNotReceive().GetDirectionFromKeyCode(f);
            manager.DidNotReceive().GetSchemeFromKeyCode(f);
            Assert.AreEqual(expectedPlayer, _behaviour.CurrentAmountOfPlayersJoin);
        }
 public void Teardown()
 {
     _behaviour = null;
 }
 public void Setup()
 {
     _behaviour = new MainMenuManagerBehaviour(InputManager.Instance);
 }