diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj index 85c7629d..6de94d92 100644 --- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj +++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_Linux.csproj @@ -69,6 +69,7 @@ + diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj index ee856e16..7f0dae10 100644 --- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj +++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_PSVita.csproj @@ -70,6 +70,7 @@ + diff --git a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj index e9d175c7..23604448 100644 --- a/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj +++ b/ANX.Framework.TestCenter/ANX.Framework.TestCenter_WindowsMetro.csproj @@ -71,6 +71,7 @@ + diff --git a/ANX.Framework.TestCenter/Strukturen/Input/GamePadButtonsTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/GamePadButtonsTest.cs index a87fe13b..120536d4 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/GamePadButtonsTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/GamePadButtonsTest.cs @@ -1,7 +1,5 @@ #region Using Statements using System; -using System.IO; -using ANX.Framework.NonXNA; using NUnit.Framework; #endregion // Using Statements @@ -14,7 +12,6 @@ using ANXButtons = ANX.Framework.Input.Buttons; using XNAButtonState = Microsoft.Xna.Framework.Input.ButtonState; using ANXButtonState = ANX.Framework.Input.ButtonState; - // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license @@ -147,14 +144,14 @@ namespace ANX.Framework.TestCenter.Strukturen.Input AssertHelper.ConvertEquals(xna.ToString(), anx.ToString(), "Start"); } - //[TestCaseSource("buttonSample")] - //public void GetHashCode(int buttons) - //{ - // XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons); - // ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons); + [TestCaseSource("buttonSample")] + public void GetHashCode(int buttons) + { + XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons); + ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons); - // AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode"); - //} + AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode"); + } [TestCaseSource("buttonSample")] public void Equals(int buttons) diff --git a/ANX.Framework.TestCenter/Strukturen/Input/GamePadDPadTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/GamePadDPadTest.cs index 7ae00d35..c8e508ff 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/GamePadDPadTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/GamePadDPadTest.cs @@ -1,7 +1,5 @@ #region Using Statements using System; -using System.IO; -using ANX.Framework.NonXNA; using NUnit.Framework; #endregion // Using Statements @@ -12,7 +10,6 @@ using XNAGamePadDPad = Microsoft.Xna.Framework.Input.GamePadDPad; using XNAButtons = Microsoft.Xna.Framework.Input.Buttons; using XNAButtonState = Microsoft.Xna.Framework.Input.ButtonState; - // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license @@ -22,6 +19,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestFixture] class GamePadDPadTest { + #region Test Data static object[] Stats16 = { new object[] { ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, XNAButtonState.Released, XNAButtonState.Released ,XNAButtonState.Released, XNAButtonState.Released}, @@ -41,6 +39,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input new object[] { ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Released, XNAButtonState.Pressed, XNAButtonState.Pressed ,XNAButtonState.Pressed, XNAButtonState.Released}, new object[] { ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, XNAButtonState.Pressed, XNAButtonState.Pressed ,XNAButtonState.Pressed, XNAButtonState.Pressed}, }; + static object[] Stats16ANX = { new object[] { ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, (ANXButtons)1 }, @@ -60,51 +59,62 @@ namespace ANX.Framework.TestCenter.Strukturen.Input new object[] { ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Released, (ANXButtons)7}, new object[] { ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, ANXButtonState.Pressed, (ANXButtons)15}, }; + #endregion [TestCaseSource("Stats16")] - public void Up(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void Up(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, + XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); XNAGamePadDPad xna = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); Assert.AreEqual(xna.Up.ToString(), anx.Up.ToString()); } + [TestCaseSource("Stats16")] - public void Down(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void Down(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, + XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); XNAGamePadDPad xna = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); Assert.AreEqual(xna.Down.ToString(), anx.Down.ToString()); } + [TestCaseSource("Stats16")] - public void Left(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void Left(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, + XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); XNAGamePadDPad xna = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); Assert.AreEqual(xna.Left.ToString(), anx.Left.ToString()); } + [TestCaseSource("Stats16")] - public void Right(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void Right(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, + XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); XNAGamePadDPad xna = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); Assert.AreEqual(xna.Right.ToString(), anx.Right.ToString()); } + [TestCaseSource("Stats16")] - public void ToString(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void ToString(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, + ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, + XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); XNAGamePadDPad xna = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); AssertHelper.ConvertEquals(xna.ToString(), anx.ToString(), "ToString"); - - } + [TestCaseSource("Stats16")] - public void Equal(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void Equal(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, + XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); ANXGamePadDPad anx2 = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); @@ -113,13 +123,15 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadDPad xna2 = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); AssertHelper.ConvertEquals(xna.Equals(xna2), anx.Equals(anx2),"Equal"); - } + [Test] public void Equal2() { - ANXGamePadDPad anx = new ANXGamePadDPad(ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released); - ANXGamePadDPad anx2 = new ANXGamePadDPad(ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Pressed); + ANXGamePadDPad anx = new ANXGamePadDPad(ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, + ANXButtonState.Released); + ANXGamePadDPad anx2 = new ANXGamePadDPad(ANXButtonState.Released, ANXButtonState.Released, ANXButtonState.Released, + ANXButtonState.Pressed); //this test is for Codecover if (!anx.Equals(anx2)) { @@ -130,17 +142,22 @@ namespace ANX.Framework.TestCenter.Strukturen.Input Assert.Fail("Fail Equal2"); } } + [TestCaseSource("Stats16")] - public void Equal3(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void Equal3(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, + ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, + XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); XNAGamePadDPad xna = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); AssertHelper.ConvertEquals(xna.Equals(null), anx.Equals(null), "Equal3"); - } + [TestCaseSource("Stats16")] - public void OperatorNoEqual(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, XNAButtonState rightValue2) + public void OperatorNoEqual(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, + ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, + XNAButtonState rightValue2) { ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); ANXGamePadDPad anx2 = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); @@ -149,7 +166,17 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadDPad xna2 = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); AssertHelper.ConvertEquals(xna != xna2, anx != anx2, "OperatorNoEqual"); + } + [TestCaseSource("Stats16")] + public void GetHashCode(ANXButtonState upValue, ANXButtonState downValue, ANXButtonState leftValue, + ANXButtonState rightValue, XNAButtonState upValue2, XNAButtonState downValue2, XNAButtonState leftValue2, + XNAButtonState rightValue2) + { + ANXGamePadDPad anx = new ANXGamePadDPad(upValue, downValue, leftValue, rightValue); + XNAGamePadDPad xna = new XNAGamePadDPad(upValue2, downValue2, leftValue2, rightValue2); + + AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode"); } } } diff --git a/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs index 7922a2f7..796786e4 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/GamePadStateTest.cs @@ -1,9 +1,6 @@ #region Using Statements using System; -using System.IO; -using ANX.Framework.NonXNA; using NUnit.Framework; -using ANX.Framework; #endregion // Using Statements #region Using TestStatements @@ -63,36 +60,92 @@ namespace ANX.Framework.TestCenter.Strukturen.Input #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) + 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)); + var 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)); + + var 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) + 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)); + var 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)); + + var 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) + 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)); + var 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)); + + var 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(); + var xna = new XNAGamePadState(); + var anx = new ANXGamePadState(); AssertHelper.ConvertEquals(xna.IsConnected, anx.IsConnected, "IsConnected2"); } + + [TestCaseSource("Stats16")] + public void GetHashCode(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) + { + var 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)); + + var 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.GetHashCode(), anx.GetHashCode(), "GetHashCode"); + } } } diff --git a/ANX.Framework.TestCenter/Strukturen/Input/GamePadThumbSticksTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/GamePadThumbSticksTest.cs index 818dd4d2..95f5483d 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/GamePadThumbSticksTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/GamePadThumbSticksTest.cs @@ -1,8 +1,7 @@ #region Using Statements using System; -using System.IO; -using ANX.Framework.NonXNA; using NUnit.Framework; + #endregion // Using Statements using XNAGamePadButtons = Microsoft.Xna.Framework.Input.GamePadButtons; @@ -14,7 +13,6 @@ using ANXGamePadThumbSticks = ANX.Framework.Input.GamePadThumbSticks; using XNAVector2 = Microsoft.Xna.Framework.Vector2; using ANXVector2 = ANX.Framework.Vector2; - // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license @@ -36,6 +34,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input new object[]{-2,-2,-2,-2} }; #endregion + [TestCaseSource("twofloats")] public void Left(float leftX, float leftY,float rightX,float rightY) { @@ -43,6 +42,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadThumbSticks xna = new XNAGamePadThumbSticks(new XNAVector2(leftX,leftY),new XNAVector2(rightX,rightY)); AssertHelper.ConvertEquals(xna.Left, anx.Left, "Left"); } + [TestCaseSource("twofloats")] public void Right(float leftX, float leftY, float rightX, float rightY) { @@ -50,13 +50,15 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadThumbSticks xna = new XNAGamePadThumbSticks(new XNAVector2(leftX, leftY), new XNAVector2(rightX, rightY)); AssertHelper.ConvertEquals(xna.Right, anx.Right, "Right"); } + [TestCaseSource("twofloats")] public void ToString(float leftX, float leftY,float rightX,float rightY) { - ANXGamePadThumbSticks anx = new ANXGamePadThumbSticks(new ANXVector2(leftX,leftY),new ANXVector2(rightX,rightY)); - XNAGamePadThumbSticks xna = new XNAGamePadThumbSticks(new XNAVector2(leftX,leftY),new XNAVector2(rightX,rightY)); + ANXGamePadThumbSticks anx = new ANXGamePadThumbSticks(new ANXVector2(leftX, leftY), new ANXVector2(rightX, rightY)); + XNAGamePadThumbSticks xna = new XNAGamePadThumbSticks(new XNAVector2(leftX, leftY), new XNAVector2(rightX, rightY)); AssertHelper.ConvertEquals(xna.ToString(), anx.ToString(), "ToString"); } + [TestCaseSource("twofloats")] public void Equals(float leftX, float leftY,float rightX,float rightY) { @@ -66,6 +68,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadThumbSticks xna2 = new XNAGamePadThumbSticks(new XNAVector2(leftX, leftY), new XNAVector2(rightX, rightY)); AssertHelper.ConvertEquals(xna == xna2, anx == anx2, "Equals"); } + [TestCaseSource("twofloats")] public void Equals2(float leftX, float leftY,float rightX,float rightY) { @@ -75,6 +78,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadThumbSticks xna2 = new XNAGamePadThumbSticks(new XNAVector2(leftX, leftY), new XNAVector2(rightX, rightY)); AssertHelper.ConvertEquals(xna.Equals(xna2), anx.Equals(anx2), "Equals2"); } + [TestCaseSource("twofloats")] public void Equals3(float leftX, float leftY, float rightX, float rightY) { @@ -82,6 +86,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadThumbSticks xna = new XNAGamePadThumbSticks(new XNAVector2(leftX, leftY), new XNAVector2(rightX, rightY)); AssertHelper.ConvertEquals(xna.Equals(null), anx.Equals(null), "Equals3"); } + [TestCaseSource("twofloats")] public void NotEquals(float leftX, float leftY,float rightX,float rightY) { @@ -96,5 +101,12 @@ namespace ANX.Framework.TestCenter.Strukturen.Input AssertHelper.ConvertEquals(xna != xna2, anx != anx2, "NotEquals"); } + [TestCaseSource("twofloats")] + public void GetHashCode(float leftX, float leftY, float rightX, float rightY) + { + ANXGamePadThumbSticks anx = new ANXGamePadThumbSticks(new ANXVector2(leftX, leftY), new ANXVector2(rightX, rightY)); + XNAGamePadThumbSticks xna = new XNAGamePadThumbSticks(new XNAVector2(leftX, leftY), new XNAVector2(rightX, rightY)); + AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode"); + } } } diff --git a/ANX.Framework.TestCenter/Strukturen/Input/GamePadTriggersTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/GamePadTriggersTest.cs index 632adb77..736cd05e 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/GamePadTriggersTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/GamePadTriggersTest.cs @@ -1,7 +1,5 @@ #region Using Statements using System; -using System.IO; -using ANX.Framework.NonXNA; using NUnit.Framework; #endregion // Using Statements @@ -9,7 +7,6 @@ using NUnit.Framework; using ANXGamePadTriggers = ANX.Framework.Input.GamePadTriggers; using XNAGamePadTriggers = Microsoft.Xna.Framework.Input.GamePadTriggers; - // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license @@ -26,8 +23,9 @@ namespace ANX.Framework.TestCenter.Strukturen.Input new object[] { DataFactory.RandomFloat, DataFactory.RandomFloat }, new object[] { DataFactory.RandomFloat, DataFactory.RandomFloat }, new object[] { DataFactory.RandomFloat, DataFactory.RandomFloat }, - new object[]{-1,-1} + new object[]{-1, -1} }; + [TestCaseSource("twofloats")] public void Left(float leftTrigger, float rightTrigger) { @@ -35,6 +33,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadTriggers xna = new XNAGamePadTriggers(leftTrigger, rightTrigger); AssertHelper.ConvertEquals(xna.Left, anx.Left, "Left"); } + [TestCaseSource("twofloats")] public void Right(float leftTrigger, float rightTrigger) { @@ -42,6 +41,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadTriggers xna = new XNAGamePadTriggers(leftTrigger, rightTrigger); AssertHelper.ConvertEquals(xna.Right, anx.Right, "Right"); } + [TestCaseSource("twofloats")] public void ToString(float leftTrigger, float rightTrigger) { @@ -49,6 +49,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadTriggers xna = new XNAGamePadTriggers(leftTrigger, rightTrigger); AssertHelper.ConvertEquals(xna.ToString(), anx.ToString(), "ToString"); } + [TestCaseSource("twofloats")] public void Equals(float leftTrigger, float rightTrigger) { @@ -58,6 +59,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadTriggers xna2 = new XNAGamePadTriggers(leftTrigger, rightTrigger); AssertHelper.ConvertEquals(xna == xna2, anx == anx2, "Equals"); } + [TestCaseSource("twofloats")] public void Equals2(float leftTrigger, float rightTrigger) { @@ -67,6 +69,7 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadTriggers xna2 = new XNAGamePadTriggers(leftTrigger, rightTrigger); AssertHelper.ConvertEquals(xna.Equals(xna2), anx.Equals(anx2), "Equals2"); } + [TestCaseSource("twofloats")] public void Equals3(float leftTrigger, float rightTrigger) { @@ -74,12 +77,13 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadTriggers xna = new XNAGamePadTriggers(leftTrigger, rightTrigger); AssertHelper.ConvertEquals(xna.Equals(null), anx.Equals(null), "Equals3"); } + [TestCaseSource("twofloats")] public void NotEquals(float leftTrigger, float rightTrigger) { ANXGamePadTriggers anx = new ANXGamePadTriggers(leftTrigger, rightTrigger); XNAGamePadTriggers xna = new XNAGamePadTriggers(leftTrigger, rightTrigger); - while (leftTrigger==rightTrigger) + while (leftTrigger == rightTrigger) { leftTrigger = DataFactory.RandomFloat; } @@ -87,5 +91,13 @@ namespace ANX.Framework.TestCenter.Strukturen.Input XNAGamePadTriggers xna2 = new XNAGamePadTriggers(rightTrigger,leftTrigger); AssertHelper.ConvertEquals(xna != xna2, anx != anx2, "NotEquals"); } + + [TestCaseSource("twofloats")] + public void GetHashCode(float leftTrigger, float rightTrigger) + { + ANXGamePadTriggers anx = new ANXGamePadTriggers(leftTrigger, rightTrigger); + XNAGamePadTriggers xna = new XNAGamePadTriggers(leftTrigger, rightTrigger); + AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode"); + } } } diff --git a/ANX.Framework.TestCenter/Strukturen/Input/KeyboardStateTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/KeyboardStateTest.cs index 8e782a0b..bef1a3b0 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/KeyboardStateTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/KeyboardStateTest.cs @@ -1,7 +1,5 @@ #region Using Statements using System; -using System.IO; -using ANX.Framework.NonXNA; using NUnit.Framework; #endregion // Using Statements @@ -11,8 +9,6 @@ using ANXKeyboardState = ANX.Framework.Input.KeyboardState; using XNAKeys = Microsoft.Xna.Framework.Input.Keys; using ANXKeys = ANX.Framework.Input.Keys; - - // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license @@ -21,170 +17,161 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestFixture] class KeyboardStateTest { -#region Input - static object[] Key = - { - 0, 8,9,13,19,20,21,25,27,28, - 29, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 144, - 145, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 202, - 203, - 219, - 220, - 221, - 222, - 223, - 226, - 229, - 242, - 243, - 244, - 246, - 247, - 248, - 249, - 250, - 251, - 253, - 254 - }; + #region Input + private static object[] Key = + { + 0, 8, 9, 13, 19, 20, 21, 25, 27, 28, + 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 144, + 145, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 202, + 203, + 219, + 220, + 221, + 222, + 223, + 226, + 229, + 242, + 243, + 244, + 246, + 247, + 248, + 249, + 250, + 251, + 253, + 254 + }; - static object[] Key10 = + private static object[] Key10 = { - new int[]{9,32,33,34,35,36,37,38,39,40}, - new int[]{9,9,9,34,35,36,37,38,39,40}, - new int[]{9,42,9,34,35,36,37,38,39,40}, - new int[]{9,42,43,34,35,36,37,38,39,40}, + new int[] { 9, 32, 33, 34, 35, 36, 37, 38, 39, 40 }, + new int[] { 9, 9, 9, 34, 35, 36, 37, 38, 39, 40 }, + new int[] { 9, 42, 9, 34, 35, 36, 37, 38, 39, 40 }, + new int[] { 9, 42, 43, 34, 35, 36, 37, 38, 39, 40 }, }; -#endregion + #endregion [TestCaseSource("Key")] public void IsKeyDown(int key) @@ -220,7 +207,6 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); @@ -240,7 +226,6 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); @@ -260,7 +245,6 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); @@ -278,7 +262,6 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); @@ -300,7 +283,6 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); @@ -320,7 +302,6 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); @@ -340,14 +321,13 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); AssertHelper.ConvertEquals(xna.GetPressedKeys(), anx.GetPressedKeys(), "GetPressedKeys"); } - + [TestCaseSource("Key10")] public void KeyState(int[] key) { @@ -358,12 +338,28 @@ namespace ANX.Framework.TestCenter.Strukturen.Input { anxkey[i] = (ANXKeys)key[i]; xnakey[i] = (XNAKeys)key[i]; - } ANXKeyboardState anx = new ANXKeyboardState(anxkey); XNAKeyboardState xna = new XNAKeyboardState(xnakey); - AssertHelper.ConvertEquals(xna[(XNAKeys)9]==Microsoft.Xna.Framework.Input.KeyState.Down, anx[(ANXKeys)9]==ANX.Framework.Input.KeyState.Down, "KeyState"); + AssertHelper.ConvertEquals(xna[(XNAKeys)9] == Microsoft.Xna.Framework.Input.KeyState.Down, + anx[(ANXKeys)9] == ANX.Framework.Input.KeyState.Down, "KeyState"); + } + + [TestCaseSource("Key10")] + public void GetHashCode(int[] key) + { + ANXKeys[] anxkey = new ANXKeys[10]; + XNAKeys[] xnakey = new XNAKeys[10]; + for (int i = 0; i < key.Length; i++) + { + anxkey[i] = (ANXKeys)key[i]; + xnakey[i] = (XNAKeys)key[i]; + } + ANXKeyboardState anx = new ANXKeyboardState(anxkey); + XNAKeyboardState xna = new XNAKeyboardState(xnakey); + + AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode"); } } } diff --git a/ANX.Framework.TestCenter/Strukturen/Input/MouseStateTest.cs b/ANX.Framework.TestCenter/Strukturen/Input/MouseStateTest.cs index 52c80d1c..9e1099a3 100644 --- a/ANX.Framework.TestCenter/Strukturen/Input/MouseStateTest.cs +++ b/ANX.Framework.TestCenter/Strukturen/Input/MouseStateTest.cs @@ -1,7 +1,5 @@ #region Using Statements using System; -using System.IO; -using ANX.Framework.NonXNA; using NUnit.Framework; #endregion // Using Statements @@ -11,8 +9,6 @@ using ANXMouseState = ANX.Framework.Input.MouseState; using XNAButtonState = Microsoft.Xna.Framework.Input.ButtonState; using ANXButtonState = ANX.Framework.Input.ButtonState; - - // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license @@ -28,57 +24,74 @@ namespace ANX.Framework.TestCenter.Strukturen.Input }; #endregion - [TestCaseSource("case1")] public void LeftButton(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna= new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - AssertHelper.ConvertEquals(xna.LeftButton == XNAButtonState.Pressed, anx.LeftButton == ANXButtonState.Pressed, "LeftButton"); + var xna= new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + + AssertHelper.ConvertEquals(xna.LeftButton == XNAButtonState.Pressed, anx.LeftButton == ANXButtonState.Pressed, + "LeftButton"); } [TestCaseSource("case1")] public void MiddleButton(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - AssertHelper.ConvertEquals(xna.MiddleButton == XNAButtonState.Pressed, anx.MiddleButton == ANXButtonState.Pressed, "MiddleButton"); + AssertHelper.ConvertEquals(xna.MiddleButton == XNAButtonState.Pressed, anx.MiddleButton == ANXButtonState.Pressed, + "MiddleButton"); } [TestCaseSource("case1")] public void RightButton(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - AssertHelper.ConvertEquals(xna.RightButton == XNAButtonState.Pressed, anx.RightButton == ANXButtonState.Pressed, "RightButton"); + AssertHelper.ConvertEquals(xna.RightButton == XNAButtonState.Pressed, anx.RightButton == ANXButtonState.Pressed, + "RightButton"); } [TestCaseSource("case1")] public void XButton1(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - AssertHelper.ConvertEquals(xna.XButton1 == XNAButtonState.Pressed, anx.XButton1 == ANXButtonState.Pressed, "XButton1"); + AssertHelper.ConvertEquals(xna.XButton1 == XNAButtonState.Pressed, anx.XButton1 == ANXButtonState.Pressed, + "XButton1"); } [TestCaseSource("case1")] public void XButton2(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - AssertHelper.ConvertEquals(xna.XButton2 == XNAButtonState.Pressed, anx.XButton2 == ANXButtonState.Pressed, "XButton2"); + AssertHelper.ConvertEquals(xna.XButton2 == XNAButtonState.Pressed, anx.XButton2 == ANXButtonState.Pressed, + "XButton2"); } [TestCaseSource("case1")] public void ScrollWheelValue(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna.ScrollWheelValue, anx.ScrollWheelValue, "ScrollWheelValue"); } @@ -86,8 +99,10 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestCaseSource("case1")] public void X(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna.X, anx.X, "X"); } @@ -95,8 +110,10 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestCaseSource("case1")] public void Y(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna.Y, anx.Y, "Y"); } @@ -104,10 +121,14 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestCaseSource("case1")] public void OpEqual(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - ANXMouseState anx2 = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna2 = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx2 = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna2 = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna == xna2, anx == anx2, "OpEqual"); } @@ -115,10 +136,14 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestCaseSource("case1")] public void Equals(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - ANXMouseState anx2 = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna2 = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx2 = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna2 = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna.Equals(xna2), anx.Equals(anx2), "Equals"); } @@ -126,10 +151,10 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestCaseSource("case1")] public void Equals2(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - ANXMouseState anx2 = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna2 = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna.Equals(null), anx.Equals(null), "Equals2"); } @@ -137,10 +162,14 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestCaseSource("case1")] public void OpUnEqual(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); - ANXMouseState anx2 = new ANXMouseState(input[1], input[0], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna2 = new XNAMouseState(input[1], input[0], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx2 = new ANXMouseState(input[1], input[0], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna2 = new XNAMouseState(input[1], input[0], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna != xna2, anx != anx2, "OpUnEqual"); } @@ -148,10 +177,23 @@ namespace ANX.Framework.TestCenter.Strukturen.Input [TestCaseSource("case1")] public void ToString(int[] input) { - ANXMouseState anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); - XNAMouseState xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); AssertHelper.ConvertEquals(xna.ToString(), anx.ToString(), "ToString"); } + + [TestCaseSource("case1")] + public void GetHashCode(int[] input) + { + var anx = new ANXMouseState(input[0], input[1], input[2], (ANXButtonState)input[3], (ANXButtonState)input[4], + (ANXButtonState)input[5], (ANXButtonState)input[6], (ANXButtonState)input[7]); + var xna = new XNAMouseState(input[0], input[1], input[2], (XNAButtonState)input[3], (XNAButtonState)input[4], + (XNAButtonState)input[5], (XNAButtonState)input[6], (XNAButtonState)input[7]); + + AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode"); + } } } diff --git a/ANX.Framework/ANX.Framework_Linux.csproj b/ANX.Framework/ANX.Framework_Linux.csproj index b0eb1963..bfce8852 100644 --- a/ANX.Framework/ANX.Framework_Linux.csproj +++ b/ANX.Framework/ANX.Framework_Linux.csproj @@ -419,6 +419,7 @@ + diff --git a/ANX.Framework/ANX.Framework_PSVita.csproj b/ANX.Framework/ANX.Framework_PSVita.csproj index 45e9578c..51e60d1d 100644 --- a/ANX.Framework/ANX.Framework_PSVita.csproj +++ b/ANX.Framework/ANX.Framework_PSVita.csproj @@ -421,6 +421,7 @@ + diff --git a/ANX.Framework/ANX.Framework_WindowsMetro.csproj b/ANX.Framework/ANX.Framework_WindowsMetro.csproj index 65ee0a8d..5d73075d 100644 --- a/ANX.Framework/ANX.Framework_WindowsMetro.csproj +++ b/ANX.Framework/ANX.Framework_WindowsMetro.csproj @@ -422,6 +422,7 @@ + diff --git a/ANX.Framework/Input/GamePad.cs b/ANX.Framework/Input/GamePad.cs index ff588ab7..a66a7802 100644 --- a/ANX.Framework/Input/GamePad.cs +++ b/ANX.Framework/Input/GamePad.cs @@ -7,7 +7,8 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { - [PercentageComplete(100)] + [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] public static class GamePad { diff --git a/ANX.Framework/Input/GamePadButtons.cs b/ANX.Framework/Input/GamePadButtons.cs index 6a4307ce..ad50e926 100644 --- a/ANX.Framework/Input/GamePadButtons.cs +++ b/ANX.Framework/Input/GamePadButtons.cs @@ -1,4 +1,5 @@ using System; +using ANX.Framework.NonXNA; using ANX.Framework.NonXNA.Development; // This file is part of the ANX.Framework created by the @@ -8,58 +9,114 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { [PercentageComplete(100)] - [TestState(TestStateAttribute.TestState.Untested)] + [Developer("AstrorEnales")] + [TestState(TestStateAttribute.TestState.Tested)] public struct GamePadButtons - { + { + private readonly ButtonState a; + private readonly ButtonState b; + private readonly ButtonState back; + private readonly ButtonState big; + private readonly ButtonState leftShoulder; + private readonly ButtonState leftStick; + private readonly ButtonState rightShoulder; + private readonly ButtonState rightStick; + private readonly ButtonState start; + private readonly ButtonState x; + private readonly ButtonState y; + #region Public - public ButtonState A { get; private set; } - public ButtonState B { get; private set; } - public ButtonState Back { get; private set; } - public ButtonState BigButton { get; private set; } - public ButtonState LeftShoulder { get; private set; } - public ButtonState LeftStick { get; private set; } - public ButtonState RightShoulder { get; private set; } - public ButtonState RightStick { get; private set; } - public ButtonState Start { get; private set; } - public ButtonState X { get; private set; } - public ButtonState Y { get; private set; } - internal Buttons Buttons { get; private set; } + public ButtonState A + { + get { return a; } + } + + public ButtonState B + { + get { return b; } + } + + public ButtonState Back + { + get { return back; } + } + + public ButtonState BigButton + { + get { return big; } + } + + public ButtonState LeftShoulder + { + get { return leftShoulder; } + } + + public ButtonState LeftStick + { + get { return leftStick; } + } + + public ButtonState RightShoulder + { + get { return rightShoulder; } + } + + public ButtonState RightStick + { + get { return rightStick; } + } + + public ButtonState Start + { + get { return start; } + } + + public ButtonState X + { + get { return x; } + } + + public ButtonState Y + { + get { return y; } + } #endregion public GamePadButtons(Buttons buttons) : this() { - A = GetButtonState(buttons, Buttons.A); - B = GetButtonState(buttons, Buttons.B); - X = GetButtonState(buttons, Buttons.X); - Y = GetButtonState(buttons, Buttons.Y); - LeftStick = GetButtonState(buttons, Buttons.LeftStick); - RightStick = GetButtonState(buttons, Buttons.RightStick); - LeftShoulder = GetButtonState(buttons, Buttons.LeftShoulder); - RightShoulder = GetButtonState(buttons, Buttons.RightShoulder); - Back = GetButtonState(buttons, Buttons.Back); - Start = GetButtonState(buttons, Buttons.Start); - BigButton = GetButtonState(buttons, Buttons.BigButton); - - Buttons = buttons; + a = GetButtonState(buttons, Buttons.A); + b = GetButtonState(buttons, Buttons.B); + x = GetButtonState(buttons, Buttons.X); + y = GetButtonState(buttons, Buttons.Y); + leftStick = GetButtonState(buttons, Buttons.LeftStick); + rightStick = GetButtonState(buttons, Buttons.RightStick); + leftShoulder = GetButtonState(buttons, Buttons.LeftShoulder); + rightShoulder = GetButtonState(buttons, Buttons.RightShoulder); + back = GetButtonState(buttons, Buttons.Back); + start = GetButtonState(buttons, Buttons.Start); + big = GetButtonState(buttons, Buttons.BigButton); } public override bool Equals(object obj) { - if (obj != null && obj.GetType() == typeof(GamePadButtons)) - return this == (GamePadButtons)obj; - - return false; + return obj is GamePadButtons && this == (GamePadButtons)obj; } - public static bool operator ==(GamePadButtons lhs, GamePadButtons rhs) + public static bool operator ==(GamePadButtons lhs, GamePadButtons rhs) { - return lhs.Buttons == rhs.Buttons; + return lhs.a == rhs.a && lhs.b == rhs.b && lhs.x == rhs.x && lhs.y == rhs.y && + lhs.leftShoulder == rhs.leftShoulder && lhs.leftStick == rhs.leftStick && + lhs.rightShoulder == rhs.rightShoulder && lhs.rightStick == rhs.rightStick && + lhs.back == rhs.back && lhs.start == rhs.start && lhs.big == rhs.big; } public static bool operator !=(GamePadButtons lhs, GamePadButtons rhs) { - return lhs.Buttons != rhs.Buttons; + return lhs.a != rhs.a || lhs.b != rhs.b || lhs.x != rhs.x || lhs.y != rhs.y || + lhs.leftShoulder != rhs.leftShoulder || lhs.leftStick != rhs.leftStick || + lhs.rightShoulder != rhs.rightShoulder || lhs.rightStick != rhs.rightStick || + lhs.back != rhs.back || lhs.start != rhs.start || lhs.big != rhs.big; } private static ButtonState GetButtonState(Buttons buttons, Buttons button) @@ -69,7 +126,7 @@ namespace ANX.Framework.Input public override int GetHashCode() { - return (int)Buttons; + return HashHelper.GetGCHandleHashCode(this); } public override string ToString() diff --git a/ANX.Framework/Input/GamePadCapabilities.cs b/ANX.Framework/Input/GamePadCapabilities.cs index 64dc3abe..8b13aa04 100644 --- a/ANX.Framework/Input/GamePadCapabilities.cs +++ b/ANX.Framework/Input/GamePadCapabilities.cs @@ -7,163 +7,60 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] public struct GamePadCapabilities { - public GamePadType GamePadType - { - get; - internal set; - } + public GamePadType GamePadType { get; internal set; } - public bool HasAButton - { - get; - internal set; - } + public bool HasAButton { get; internal set; } - public bool HasBackButton - { - get; - internal set; - } + public bool HasBackButton { get; internal set; } - public bool HasBButton - { - get; - internal set; - } - - public bool HasBigButton - { - get; - internal set; - } + public bool HasBButton { get; internal set; } - public bool HasDPadDownButton - { - get; - internal set; - } + public bool HasBigButton { get; internal set; } - public bool HasDPadLeftButton - { - get; - internal set; - } + public bool HasDPadDownButton { get; internal set; } - public bool HasDPadRightButton - { - get; - internal set; - } + public bool HasDPadLeftButton { get; internal set; } - public bool HasDPadUpButton - { - get; - internal set; - } + public bool HasDPadRightButton { get; internal set; } - public bool HasLeftShoulderButton - { - get; - internal set; - } + public bool HasDPadUpButton { get; internal set; } - public bool HasLeftStickButton - { - get; - internal set; - } + public bool HasLeftShoulderButton { get; internal set; } - public bool HasLeftTrigger - { - get; - internal set; - } + public bool HasLeftStickButton { get; internal set; } - public bool HasLeftVibrationMotor - { - get; - internal set; - } + public bool HasLeftTrigger { get; internal set; } - public bool HasLeftXThumbStick - { - get; - internal set; - } + public bool HasLeftVibrationMotor { get; internal set; } - public bool HasLeftYThumbStick - { - get; - internal set; - } + public bool HasLeftXThumbStick { get; internal set; } - public bool HasRightShoulderButton - { - get; - internal set; - } + public bool HasLeftYThumbStick { get; internal set; } - public bool HasRightStickButton - { - get; - internal set; - } + public bool HasRightShoulderButton { get; internal set; } - public bool HasRightVibrationMotor - { - get; - internal set; - } + public bool HasRightStickButton { get; internal set; } - public bool HasRightTrigger - { - get; - internal set; - } + public bool HasRightVibrationMotor { get; internal set; } - public bool HasRightXThumbStick - { - get; - internal set; - } + public bool HasRightTrigger { get; internal set; } - public bool HasRightYThumbStick - { - get; - internal set; - } + public bool HasRightXThumbStick { get; internal set; } - public bool HasStartButton - { - get; - internal set; - } + public bool HasRightYThumbStick { get; internal set; } - public bool HasVoiceSupport - { - get; - internal set; - } + public bool HasStartButton { get; internal set; } - public bool HasXButton - { - get; - internal set; - } + public bool HasVoiceSupport { get; internal set; } - public bool HasYButton - { - get; - internal set; - } + public bool HasXButton { get; internal set; } - public bool IsConnected - { - get; - internal set; - } + public bool HasYButton { get; internal set; } + + public bool IsConnected { get; internal set; } } } diff --git a/ANX.Framework/Input/GamePadDPad.cs b/ANX.Framework/Input/GamePadDPad.cs index 39f9ab9d..5d06f6a7 100644 --- a/ANX.Framework/Input/GamePadDPad.cs +++ b/ANX.Framework/Input/GamePadDPad.cs @@ -1,4 +1,5 @@ using System; +using ANX.Framework.NonXNA; using ANX.Framework.NonXNA.Development; // This file is part of the ANX.Framework created by the @@ -7,60 +8,69 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { - [PercentageComplete(100)] - [TestState(TestStateAttribute.TestState.Untested)] + [PercentageComplete(100)] + [Developer("AstrorEnales")] + [TestState(TestStateAttribute.TestState.Tested)] public struct GamePadDPad - { - public ButtonState Down { get; private set; } - public ButtonState Left { get; private set; } - public ButtonState Right { get; private set; } - public ButtonState Up { get; private set; } - internal Buttons Buttons { get; private set; } + { + private readonly ButtonState up; + private readonly ButtonState right; + private readonly ButtonState down; + private readonly ButtonState left; + + public ButtonState Down + { + get { return down; } + } + + public ButtonState Left + { + get { return left; } + } + + public ButtonState Right + { + get { return right; } + } + + public ButtonState Up + { + get { return up; } + } public GamePadDPad(ButtonState upValue, ButtonState downValue, ButtonState leftValue, ButtonState rightValue) - : this() { - Up = upValue; - Down = downValue; - Left = leftValue; - Right = rightValue; - AddToButtonsIfPressed(upValue, Buttons.DPadUp); - AddToButtonsIfPressed(downValue, Buttons.DPadDown); - AddToButtonsIfPressed(leftValue, Buttons.DPadLeft); - AddToButtonsIfPressed(rightValue, Buttons.DPadRight); + up = upValue; + down = downValue; + left = leftValue; + right = rightValue; } internal GamePadDPad(Buttons buttons) - : this() + : this() { - Buttons = buttons; - Up = GetButtonStateFrom(Buttons.DPadUp); - Left = GetButtonStateFrom(Buttons.DPadLeft); - Down = GetButtonStateFrom(Buttons.DPadDown); - Right = GetButtonStateFrom(Buttons.DPadRight); + up = GetButtonStateFrom(buttons, Buttons.DPadUp); + left = GetButtonStateFrom(buttons, Buttons.DPadLeft); + down = GetButtonStateFrom(buttons, Buttons.DPadDown); + right = GetButtonStateFrom(buttons, Buttons.DPadRight); } - private ButtonState GetButtonStateFrom(Buttons button) + private ButtonState GetButtonStateFrom(Buttons buttons, Buttons button) { - return (Buttons & button) == button ? ButtonState.Pressed : ButtonState.Released; - } - - private void AddToButtonsIfPressed(ButtonState state, Buttons button) - { - Buttons |= (state == ButtonState.Pressed ? button : 0); + return (buttons & button) == button ? ButtonState.Pressed : ButtonState.Released; } public override int GetHashCode() { - return (int)Buttons; + return HashHelper.GetGCHandleHashCode(this); } public override string ToString() { - string buttons = Up == ButtonState.Pressed ? "Up" : ""; - buttons += Down == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Down" : ""; - buttons += Left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Left" : ""; - buttons += Right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Right" : ""; + string buttons = up == ButtonState.Pressed ? "Up" : ""; + buttons += down == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Down" : ""; + buttons += left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Left" : ""; + buttons += right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Right" : ""; if (String.IsNullOrEmpty(buttons)) buttons = "None"; @@ -70,20 +80,17 @@ namespace ANX.Framework.Input public override bool Equals(object obj) { - if (obj is GamePadDPad) - return this == (GamePadDPad)obj; - - return false; + return obj is GamePadDPad && this == (GamePadDPad)obj; } - public static bool operator ==(GamePadDPad lhs, GamePadDPad rhs) + public static bool operator ==(GamePadDPad lhs, GamePadDPad rhs) { - return lhs.Buttons == rhs.Buttons; + return lhs.up == rhs.up && lhs.down == rhs.down && lhs.left == rhs.left && lhs.right == rhs.right; } public static bool operator !=(GamePadDPad lhs, GamePadDPad rhs) { - return lhs.Buttons != rhs.Buttons; + return lhs.up != rhs.up || lhs.down != rhs.down || lhs.left != rhs.left || lhs.right != rhs.right; } } } diff --git a/ANX.Framework/Input/GamePadDeadZone.cs b/ANX.Framework/Input/GamePadDeadZone.cs index 209ccef7..762db2a7 100644 --- a/ANX.Framework/Input/GamePadDeadZone.cs +++ b/ANX.Framework/Input/GamePadDeadZone.cs @@ -7,6 +7,7 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] public enum GamePadDeadZone : byte { diff --git a/ANX.Framework/Input/GamePadState.cs b/ANX.Framework/Input/GamePadState.cs index ea357125..3938ee5c 100644 --- a/ANX.Framework/Input/GamePadState.cs +++ b/ANX.Framework/Input/GamePadState.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using ANX.Framework.NonXNA.Development; // This file is part of the ANX.Framework created by the @@ -8,7 +9,8 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { [PercentageComplete(100)] - [TestState(TestStateAttribute.TestState.Untested)] + [Developer("AstrorEnales")] + [TestState(TestStateAttribute.TestState.Tested)] public struct GamePadState { #region Private @@ -31,22 +33,14 @@ namespace ANX.Framework.Input get { return this.dPad; } } - public bool IsConnected - { - get; - internal set; - } + public bool IsConnected { get; internal set; } + public int PacketNumber { get; internal set; } - public int PacketNumber - { - get; - internal set; - } - - public GamePadThumbSticks ThumbSticks + public GamePadThumbSticks ThumbSticks { get { return this.thumbSticks; } } + public GamePadTriggers Triggers { get { return this.triggers; } @@ -60,11 +54,34 @@ namespace ANX.Framework.Input this.triggers = triggers; this.buttons = buttons; this.dPad = dPad; - this.buttonsValue = this.buttons.Buttons | this.dPad.Buttons; + + AddToBitfieldIfPressed(Input.Buttons.A, buttons.A); + AddToBitfieldIfPressed(Input.Buttons.B, buttons.B); + AddToBitfieldIfPressed(Input.Buttons.X, buttons.X); + AddToBitfieldIfPressed(Input.Buttons.Y, buttons.Y); + AddToBitfieldIfPressed(Input.Buttons.BigButton, buttons.BigButton); + AddToBitfieldIfPressed(Input.Buttons.Back, buttons.Back); + AddToBitfieldIfPressed(Input.Buttons.Start, buttons.Start); + AddToBitfieldIfPressed(Input.Buttons.RightStick, buttons.RightStick); + AddToBitfieldIfPressed(Input.Buttons.LeftStick, buttons.LeftStick); + AddToBitfieldIfPressed(Input.Buttons.RightShoulder, buttons.RightShoulder); + AddToBitfieldIfPressed(Input.Buttons.LeftShoulder, buttons.LeftShoulder); + + AddToBitfieldIfPressed(Input.Buttons.DPadUp, dPad.Up); + AddToBitfieldIfPressed(Input.Buttons.DPadDown, dPad.Down); + AddToBitfieldIfPressed(Input.Buttons.DPadLeft, dPad.Left); + AddToBitfieldIfPressed(Input.Buttons.DPadRight, dPad.Right); + this.IsConnected = true; this.PacketNumber = 0; } + private void AddToBitfieldIfPressed(Buttons button, ButtonState state) + { + if (state == ButtonState.Pressed) + buttonsValue |= button; + } + public GamePadState(Vector2 leftThumbStick, Vector2 rightThumbStick, float leftTrigger, float rightTrigger, params Buttons[] buttons) : this() @@ -72,11 +89,9 @@ namespace ANX.Framework.Input this.thumbSticks = new GamePadThumbSticks(leftThumbStick, rightThumbStick); this.triggers = new GamePadTriggers(leftTrigger, rightTrigger); - Buttons buttonField = 0; - for (int i = 0; i < buttons.Length; i++) - buttonField |= buttons[i]; - - this.buttonsValue = buttonField; + Buttons buttonField = buttons.Aggregate(0, (current, t) => current | t); + + this.buttonsValue = buttonField; this.IsConnected = true; this.PacketNumber = 0; @@ -86,25 +101,27 @@ namespace ANX.Framework.Input public override bool Equals(object obj) { - if (obj is GamePadState) - return this == (GamePadState)obj; - - return false; + return obj is GamePadState && this == (GamePadState)obj; } - public static bool operator ==(GamePadState lhs, GamePadState rhs) + public static bool operator ==(GamePadState lhs, GamePadState rhs) { - return lhs.buttonsValue == rhs.buttonsValue; + return lhs.IsConnected == rhs.IsConnected && lhs.PacketNumber == rhs.PacketNumber && + lhs.thumbSticks == rhs.thumbSticks && lhs.triggers == rhs.triggers && lhs.buttons == rhs.buttons && + lhs.dPad == rhs.dPad; } public static bool operator !=(GamePadState lhs, GamePadState rhs) { - return lhs.buttonsValue != rhs.buttonsValue; + return lhs.IsConnected != rhs.IsConnected || lhs.PacketNumber != rhs.PacketNumber || + lhs.thumbSticks != rhs.thumbSticks || lhs.triggers != rhs.triggers || lhs.buttons != rhs.buttons || + lhs.dPad != rhs.dPad; } public override int GetHashCode() { - return (int)buttonsValue; + return thumbSticks.GetHashCode() ^ triggers.GetHashCode() ^ (buttons.GetHashCode() ^ IsConnected.GetHashCode()) ^ + (dPad.GetHashCode() ^ PacketNumber.GetHashCode()); } public override string ToString() @@ -114,12 +131,12 @@ namespace ANX.Framework.Input public bool IsButtonDown(Buttons button) { - return (this.buttonsValue & button) == button; + return (buttonsValue & button) == button; } public bool IsButtonUp(Buttons button) { - return (this.buttonsValue & button) != button; + return (buttonsValue & button) != button; } } } diff --git a/ANX.Framework/Input/GamePadThumbSticks.cs b/ANX.Framework/Input/GamePadThumbSticks.cs index 59d7c654..1812f877 100644 --- a/ANX.Framework/Input/GamePadThumbSticks.cs +++ b/ANX.Framework/Input/GamePadThumbSticks.cs @@ -1,4 +1,5 @@ using System; +using ANX.Framework.NonXNA; using ANX.Framework.NonXNA.Development; // This file is part of the ANX.Framework created by the @@ -7,14 +8,13 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { - [PercentageComplete(100)] - [TestState(TestStateAttribute.TestState.Untested)] + [PercentageComplete(100)] + [Developer("AstrorEnales")] + [TestState(TestStateAttribute.TestState.Tested)] public struct GamePadThumbSticks { - #region Private - private Vector2 left; - private Vector2 right; - #endregion + private readonly Vector2 left; + private readonly Vector2 right; public Vector2 Left { @@ -49,7 +49,7 @@ namespace ANX.Framework.Input public override int GetHashCode() { - return left.GetHashCode() ^ right.GetHashCode(); + return HashHelper.GetGCHandleHashCode(this); } public override string ToString() diff --git a/ANX.Framework/Input/GamePadTriggers.cs b/ANX.Framework/Input/GamePadTriggers.cs index 10d9d176..415b518b 100644 --- a/ANX.Framework/Input/GamePadTriggers.cs +++ b/ANX.Framework/Input/GamePadTriggers.cs @@ -1,4 +1,5 @@ using System; +using ANX.Framework.NonXNA; using ANX.Framework.NonXNA.Development; // This file is part of the ANX.Framework created by the @@ -8,27 +9,37 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { [PercentageComplete(100)] - [TestState(TestStateAttribute.TestState.Untested)] + [Developer("AstrorEnales")] + [TestState(TestStateAttribute.TestState.Tested)] public struct GamePadTriggers - { - public float Left { get; private set; } - public float Right { get; private set; } + { + private readonly float left; + private readonly float right; + + public float Left + { + get { return left; } + } + + public float Right + { + get { return right; } + } public GamePadTriggers(float leftTrigger, float rightTrigger) - : this() { - Left = MathHelper.Clamp(leftTrigger, 0f, 1f); - Right = MathHelper.Clamp(rightTrigger, 0f, 1f); + left = MathHelper.Clamp(leftTrigger, 0f, 1f); + right = MathHelper.Clamp(rightTrigger, 0f, 1f); } public override int GetHashCode() - { - return Left.GetHashCode() ^ Right.GetHashCode(); + { + return HashHelper.GetGCHandleHashCode(this); } public override string ToString() { - return String.Format("{{Left:{0} Right:{1}}}", Left, Right); + return String.Format("{{Left:{0} Right:{1}}}", left, right); } public override bool Equals(object obj) @@ -38,12 +49,12 @@ namespace ANX.Framework.Input public static bool operator ==(GamePadTriggers lhs, GamePadTriggers rhs) { - return lhs.Left == rhs.Left && lhs.Right == rhs.Right; + return lhs.left == rhs.left && lhs.right == rhs.right; } public static bool operator !=(GamePadTriggers lhs, GamePadTriggers rhs) { - return lhs.Left != rhs.Left || lhs.Right != rhs.Right; + return lhs.left != rhs.left || lhs.right != rhs.right; } } } diff --git a/ANX.Framework/Input/Keyboard.cs b/ANX.Framework/Input/Keyboard.cs index e0c80eb1..cc52c672 100644 --- a/ANX.Framework/Input/Keyboard.cs +++ b/ANX.Framework/Input/Keyboard.cs @@ -9,6 +9,7 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] public static class Keyboard { diff --git a/ANX.Framework/Input/KeyboardState.cs b/ANX.Framework/Input/KeyboardState.cs index 1309bc1e..612bc3ae 100644 --- a/ANX.Framework/Input/KeyboardState.cs +++ b/ANX.Framework/Input/KeyboardState.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using ANX.Framework.NonXNA.Development; // This file is part of the ANX.Framework created by the @@ -8,13 +9,12 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { - [PercentageComplete(100)] - [TestState(TestStateAttribute.TestState.Untested)] + [PercentageComplete(100)] + [Developer("AstrorEnales")] + [TestState(TestStateAttribute.TestState.Tested)] public struct KeyboardState { - #region Private private readonly KeyState[] keyState; - #endregion public KeyState this[Keys key] { @@ -40,7 +40,16 @@ namespace ANX.Framework.Input public override int GetHashCode() { - throw new NotImplementedException(); + var results = new uint[8]; + for (int index = 0; index < keyState.Length; index++) + if (keyState[index] == KeyState.Down) + { + uint num = 1u << index; + int resultIndex = index >> 5; + results[resultIndex] |= num & 4294967295u; + } + + return results.Aggregate(0, (current, u) => current ^ u.GetHashCode()); } public override bool Equals(object obj) @@ -49,32 +58,16 @@ namespace ANX.Framework.Input } public static bool operator ==(KeyboardState lhs, KeyboardState rhs) + { + return lhs.keyState.Length == rhs.keyState.Length && !lhs.keyState.Where((t, i) => t != rhs.keyState[i]).Any(); + } + + public static bool operator !=(KeyboardState lhs, KeyboardState rhs) { - if (lhs.keyState.Length != rhs.keyState.Length) - return false; - - for (int i = 0; i < lhs.keyState.Length; i++) - if (lhs.keyState[i] != rhs.keyState[i]) - return false; - - return true; + return lhs.keyState.Length != rhs.keyState.Length || lhs.keyState.Where((t, i) => t != rhs.keyState[i]).Any(); } - public static bool operator !=(KeyboardState lhs, KeyboardState rhs) - { - if (lhs.keyState.Length == rhs.keyState.Length) - { - for (int i = 0; i < lhs.keyState.Length; i++) - if (lhs.keyState[i] != rhs.keyState[i]) - return true; - - return false; - } - - return true; - } - - public Keys[] GetPressedKeys() + public Keys[] GetPressedKeys() { var result = new List(); for (int i = 0; i < keyState.Length; ++i) @@ -93,6 +86,5 @@ namespace ANX.Framework.Input { this.keyState[(int)key] = KeyState.Up; } - } } diff --git a/ANX.Framework/Input/Mouse.cs b/ANX.Framework/Input/Mouse.cs index 516c5d74..0e892736 100644 --- a/ANX.Framework/Input/Mouse.cs +++ b/ANX.Framework/Input/Mouse.cs @@ -8,7 +8,8 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input { - [PercentageComplete(100)] + [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] public static class Mouse { diff --git a/ANX.Framework/Input/MouseState.cs b/ANX.Framework/Input/MouseState.cs index 8e880eaf..e54cbfbb 100644 --- a/ANX.Framework/Input/MouseState.cs +++ b/ANX.Framework/Input/MouseState.cs @@ -11,7 +11,8 @@ namespace ANX.Framework.Input [Serializable] #endif [PercentageComplete(100)] - [TestState(TestStateAttribute.TestState.Untested)] + [Developer("AstrorEnales")] + [TestState(TestStateAttribute.TestState.Tested)] public struct MouseState { public ButtonState LeftButton { get; private set; } @@ -63,13 +64,10 @@ namespace ANX.Framework.Input public override bool Equals(object obj) { - if (obj != null && obj is MouseState) - return this == (MouseState)obj; - - return false; + return obj is MouseState && this == (MouseState)obj; } - public override int GetHashCode() + public override int GetHashCode() { return X.GetHashCode() ^ Y.GetHashCode() ^ LeftButton.GetHashCode() ^ RightButton.GetHashCode() ^ MiddleButton.GetHashCode() ^ XButton1.GetHashCode() ^ XButton2.GetHashCode() ^ ScrollWheelValue.GetHashCode(); diff --git a/ANX.Framework/Input/Touch/GestureType.cs b/ANX.Framework/Input/Touch/GestureType.cs index 7dab637f..4635ff1f 100644 --- a/ANX.Framework/Input/Touch/GestureType.cs +++ b/ANX.Framework/Input/Touch/GestureType.cs @@ -8,6 +8,7 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input.Touch { [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] [Flags] public enum GestureType diff --git a/ANX.Framework/Input/Touch/TouchLocationState.cs b/ANX.Framework/Input/Touch/TouchLocationState.cs index e6abbd9a..af00f5dc 100644 --- a/ANX.Framework/Input/Touch/TouchLocationState.cs +++ b/ANX.Framework/Input/Touch/TouchLocationState.cs @@ -7,6 +7,7 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input.Touch { [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] public enum TouchLocationState { diff --git a/ANX.Framework/Input/Touch/TouchPanel.cs b/ANX.Framework/Input/Touch/TouchPanel.cs index 5a33b11f..651ee05d 100644 --- a/ANX.Framework/Input/Touch/TouchPanel.cs +++ b/ANX.Framework/Input/Touch/TouchPanel.cs @@ -8,7 +8,8 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input.Touch { - [PercentageComplete(100)] + [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Untested)] public static class TouchPanel { diff --git a/ANX.Framework/Input/Touch/TouchPanelCapabilities.cs b/ANX.Framework/Input/Touch/TouchPanelCapabilities.cs index eba2b4c0..3540369e 100644 --- a/ANX.Framework/Input/Touch/TouchPanelCapabilities.cs +++ b/ANX.Framework/Input/Touch/TouchPanelCapabilities.cs @@ -7,6 +7,7 @@ using ANX.Framework.NonXNA.Development; namespace ANX.Framework.Input.Touch { [PercentageComplete(100)] + [Developer("AstrorEnales")] [TestState(TestStateAttribute.TestState.Tested)] public struct TouchPanelCapabilities {