diff --git a/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs index 859088ca..08bd6ba5 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs @@ -3,8 +3,10 @@ using System; using System.IO; using ANX.Framework.NonXNA; using NUnit.Framework; +using ANX.Framework; #endregion // Using Statements +#region Using TestStatements using XNAGamePadButtons = Microsoft.Xna.Framework.Input.GamePadButtons; using ANXGamePadButtons = ANX.Framework.Input.GamePadButtons; @@ -23,6 +25,13 @@ using ANXButtonState = ANX.Framework.Input.ButtonState; using ANXGamePadTriggers = ANX.Framework.Input.GamePadTriggers; using XNAGamePadTriggers = Microsoft.Xna.Framework.Input.GamePadTriggers; +using ANXGamePadState = ANX.Framework.Input.GamePadState; +using XNAGamePadState = Microsoft.Xna.Framework.Input.GamePadState; + +using XNAVector2 = Microsoft.Xna.Framework.Vector2; +using ANXVector2 = ANX.Framework.Vector2; +#endregion + #region License // @@ -74,9 +83,59 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestFixture] class GamePadStateTest { - public void IsButtonDown(XNAGamePadThumbSticks xnathumbSticks, XNAGamePadTriggers xnatriggers, XNAGamePadButtons xnabuttons, XNAGamePadDPad xnadPad) + #region Testdata + static object[] Stats16 = { + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, XNAButtonState.Released, XNAButtonState.Released ,XNAButtonState.Released, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Pressed, XNAButtonState.Released, XNAButtonState.Released ,XNAButtonState.Released, XNAButtonState.Pressed}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Released, XNAButtonState.Released, XNAButtonState.Released ,XNAButtonState.Pressed, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Pressed, XNAButtonState.Released, XNAButtonState.Released ,XNAButtonState.Pressed, XNAButtonState.Pressed}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Released, XNAButtonState.Released, XNAButtonState.Pressed ,XNAButtonState.Released, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Pressed, XNAButtonState.Released, XNAButtonState.Pressed ,XNAButtonState.Released, XNAButtonState.Pressed}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Released, XNAButtonState.Released, XNAButtonState.Pressed ,XNAButtonState.Pressed, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, XNAButtonState.Released, XNAButtonState.Pressed ,XNAButtonState.Pressed, XNAButtonState.Pressed}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, XNAButtonState.Pressed, XNAButtonState.Released ,XNAButtonState.Released, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Pressed, XNAButtonState.Pressed, XNAButtonState.Released ,XNAButtonState.Released, XNAButtonState.Pressed}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Released, XNAButtonState.Pressed, XNAButtonState.Released ,XNAButtonState.Pressed, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Pressed, ANXButtonState.Pressed, XNAButtonState.Pressed, XNAButtonState.Released ,XNAButtonState.Pressed, XNAButtonState.Pressed}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Released, XNAButtonState.Pressed, XNAButtonState.Pressed ,XNAButtonState.Released, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Released, ANXButtonState.Pressed, XNAButtonState.Pressed, XNAButtonState.Pressed ,XNAButtonState.Released, XNAButtonState.Pressed}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Released, XNAButtonState.Pressed, XNAButtonState.Pressed ,XNAButtonState.Pressed, XNAButtonState.Released}, + new object[] {DataFactory.RandomIntValueMinMax(0,32769),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000),DataFactory.RandomValueMinMax(float.Epsilon, 1000), ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, XNAButtonState.Pressed, XNAButtonState.Pressed ,XNAButtonState.Pressed, XNAButtonState.Pressed}, + }; + #endregion + [TestCaseSource("Stats16")] + public void IsButtonDown(int i1,float f1, float f2, float f3, float f4, float f5, float f6, ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + { + XNAGamePadState xna = new XNAGamePadState(new XNAGamePadThumbSticks(new XNAVector2(f1,f2),new XNAVector2(f3,f4)),new XNAGamePadTriggers(f5,f6),new XNAGamePadButtons((XNAButtons)i1),new XNAGamePadDPad(upValue2,downValue2,leftValue2,rightValue2)); + ANXGamePadState anx = new ANXGamePadState(new ANXGamePadThumbSticks(new ANXVector2(f1, f2), new ANXVector2(f3, f4)), new ANXGamePadTriggers(f5, f6), new ANXGamePadButtons((ANXButtons)i1), new ANXGamePadDPad(upValue, downValue, leftValue, rightValue)); + + AssertHelper.ConvertEquals(xna.IsButtonDown(XNAButtons.A), anx.IsButtonDown(ANXButtons.A), "IsButtonDown"); + } + [TestCaseSource("Stats16")] + public void IsButtonUp(int i1, float f1, float f2, float f3, float f4, float f5, float f6, ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + { + XNAGamePadState xna = new XNAGamePadState(new XNAGamePadThumbSticks(new XNAVector2(f1, f2), new XNAVector2(f3, f4)), new XNAGamePadTriggers(f5, f6), new XNAGamePadButtons((XNAButtons)i1), new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2)); + ANXGamePadState anx = new ANXGamePadState(new ANXGamePadThumbSticks(new ANXVector2(f1, f2), new ANXVector2(f3, f4)), new ANXGamePadTriggers(f5, f6), new ANXGamePadButtons((ANXButtons)i1), new ANXGamePadDPad(upValue, downValue, leftValue, rightValue)); + + AssertHelper.ConvertEquals(xna.IsButtonUp(XNAButtons.A), anx.IsButtonUp(ANXButtons.A), "IsButtonUp"); + } + [TestCaseSource("Stats16")] + public void IsConnected(int i1, float f1, float f2, float f3, float f4, float f5, float f6, ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + { + XNAGamePadState xna = new XNAGamePadState(new XNAGamePadThumbSticks(new XNAVector2(f1, f2), new XNAVector2(f3, f4)), new XNAGamePadTriggers(f5, f6), new XNAGamePadButtons((XNAButtons)i1), new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2)); + ANXGamePadState anx = new ANXGamePadState(new ANXGamePadThumbSticks(new ANXVector2(f1, f2), new ANXVector2(f3, f4)), new ANXGamePadTriggers(f5, f6), new ANXGamePadButtons((ANXButtons)i1), new ANXGamePadDPad(upValue, downValue, leftValue, rightValue)); + + AssertHelper.ConvertEquals(xna.IsConnected, anx.IsConnected, "IsConnected"); + } + [Test] + public void IsConnected2() + { + XNAGamePadState xna = new XNAGamePadState(); + ANXGamePadState anx = new ANXGamePadState(); + + AssertHelper.ConvertEquals(xna.IsConnected, anx.IsConnected, "IsConnected2"); } } } diff --git a/ANX.Framework/Input/GamePadState.cs b/ANX.Framework/Input/GamePadState.cs index 3dc23cc8..84d6981a 100644 --- a/ANX.Framework/Input/GamePadState.cs +++ b/ANX.Framework/Input/GamePadState.cs @@ -75,7 +75,7 @@ namespace ANX.Framework.Input this.triggers = triggers; this.buttons = buttons; this.dPad = dPad; - this.isConnected = false; + this.isConnected = true; this.packetNumber = 0; this.buttonsValue = this.buttons.Buttons | this.dPad.Buttons; } @@ -91,7 +91,7 @@ namespace ANX.Framework.Input buttonField |= buttons[i]; } this.buttonsValue = buttonField; - this.isConnected = false; + this.isConnected = true; this.packetNumber = 0; this.buttons = new GamePadButtons(this.buttonsValue);