public void PlayerJumpHeightKeepsIncreasingButtonHeld()
        {
            GameObject player = game.GetPlayer();

            player.GetComponent <TwoDTools.PlayerController2D>().Awake();

            player.GetComponent <TwoDTools.PlayerJump>().Start();
            player.GetComponent <TwoDTools.PlayerWallJump>().Start();
            TwoDTools.PlayerController2DInput input = player.GetComponent <TwoDTools.PlayerController2DInput>();
            // Initial Jump
            Assert.AreEqual(input.JumpButtonHeld(), false);
            player.GetComponent <TwoDTools.PlayerState>().SetIsTouchingFloor(true);
            input.SetJumpButtonPressed();
            input.SetJumpButtonHeld();

            Assert.AreEqual(input.JumpButtonHeld(), true);
            player.GetComponent <TwoDTools.PlayerJump>().JumpUpdate();
            player.GetComponent <TwoDTools.PlayerJump>().JumpFixedUpdate();
            player.GetComponent <TwoDTools.PlayerController2D>().ApplyGravtiy();
            player.GetComponent <TwoDTools.PlayerState>().SetIsTouchingFloor(false);

            Assert.Greater(player.GetComponent <TwoDTools.PlayerController2D>().currentVelocity.y, 0);
            float previous = player.GetComponent <TwoDTools.PlayerController2D>().currentVelocity.y;

            // Still Held
            input.SetJumpButtonHeld();
            Assert.AreEqual(input.JumpButtonHeld(), true);
            player.GetComponent <TwoDTools.PlayerJump>().JumpUpdate();
            player.GetComponent <TwoDTools.PlayerJump>().JumpFixedUpdate();
            player.GetComponent <TwoDTools.PlayerController2D>().ApplyGravtiy();
            Assert.Greater(previous, player.GetComponent <TwoDTools.PlayerController2D>().currentVelocity.y);
            Assert.Greater(player.GetComponent <TwoDTools.PlayerController2D>().currentVelocity.y, 0);

            // Let Go
            input.ResetInput();
            input.SetJumpButtonLetGo();
            Assert.AreEqual(input.JumpButtonHeld(), false);
            Assert.AreEqual(input.JumpButtonLetGo(), true);
            player.GetComponent <TwoDTools.PlayerJump>().JumpUpdate();
            player.GetComponent <TwoDTools.PlayerJump>().JumpFixedUpdate();
            player.GetComponent <TwoDTools.PlayerController2D>().ApplyGravtiy();
            Assert.LessOrEqual(player.GetComponent <TwoDTools.PlayerController2D>().currentVelocity.y, 1);

            input.ResetInput();
            Assert.AreEqual(input.JumpButtonHeld(), false);
            Assert.AreEqual(input.JumpButtonLetGo(), false);

            player.GetComponent <TwoDTools.PlayerJump>().JumpUpdate();
            player.GetComponent <TwoDTools.PlayerJump>().JumpFixedUpdate();
            player.GetComponent <TwoDTools.PlayerController2D>().ApplyGravtiy();

            Assert.LessOrEqual(player.GetComponent <TwoDTools.PlayerController2D>().currentVelocity.y, 0);
        }
        public void PlayerJumpsOnKeyPress()
        {
            GameObject player = game.GetPlayer();

            player.GetComponent <TwoDTools.PlayerController2D>().Awake();
            player.GetComponent <TwoDTools.PlayerJump>().Start();
            TwoDTools.PlayerController2DInput input = player.GetComponent <TwoDTools.PlayerController2DInput>();

            Assert.AreEqual(input.JumpButtonHeld(), false);
            player.GetComponent <TwoDTools.PlayerState>().SetIsTouchingFloor(true);
            input.SetJumpButtonPressed();
            input.SetJumpButtonHeld();
            Assert.AreEqual(input.JumpButtonHeld(), true);
            player.GetComponent <TwoDTools.PlayerJump>().JumpUpdate();

            Assert.Greater(player.GetComponent <TwoDTools.PlayerController2D>().currentVelocity.y, 0);
        }
 public void SetControllerInput(TwoDTools.PlayerController2DInput input)
 {
     this.input = input;
 }
 public void Start()
 {
     playerController = GetComponent <TwoDTools.PlayerController2D>();
     input            = playerController.GetInput();
 }