public void MovingInvalidAxisCausesException()
        {
            var gamePad = new MockedGamePad();

            Assert.Throws <ArgumentException>(
                delegate() { gamePad.MoveAxis(ExtendedAxes.X | ExtendedAxes.Y, 0); }
                );
        }
        public void MovingUnavailableAxisCausesException()
        {
            var gamePad = new MockedGamePad();

            gamePad.AvailableAxes = 0;

            Assert.Throws <ArgumentException>(
                delegate() { gamePad.MoveAxis(ExtendedAxes.X, 0); }
                );
        }
        public void TestAxisMovement()
        {
            var gamePad = new MockedGamePad();

            foreach (ExtendedAxes axis in Enum.GetValues(typeof(ExtendedAxes)))
            {
                gamePad.AvailableAxes = axis;

                gamePad.MoveAxis(axis, 0.1234f);
                gamePad.Update();
                Assert.AreEqual(0.1234f, gamePad.GetExtendedState().GetAxis(axis));
            }
        }