public void PushVelocityStack_UpdatesVelocityStack(Vector2[] addedVelocity, Vector2[] expectedStack)
    {
        IPointerDownInputStateConstArg arg   = CreateMockArg();
        TestAbsPointerDownInputState   state = new TestAbsPointerDownInputState(arg);

        foreach (Vector2 velocity in addedVelocity)
        {
            state.PushVelocityStack_Test(velocity);
        }

        Assert.That(state.GetVelocityStack_Test(), Is.EqualTo(expectedStack));
    }
    public void OnEnter_ClearsVelocityStack()
    {
        IPointerDownInputStateConstArg arg   = CreateMockArg();
        TestAbsPointerDownInputState   state = new TestAbsPointerDownInputState(arg);

        state.AddVelocityToStack_Test(new Vector2(10f, 10f), 0);
        state.AddVelocityToStack_Test(new Vector2(10f, 10f), 1);
        state.AddVelocityToStack_Test(new Vector2(10f, 10f), 2);

        state.OnEnter();
        Assert.That(state.GetVelocityStack_Test(), Is.EqualTo(new Vector2[arg.velocityStackSize]));
    }