add GamePadsButtonsTest (GetHashCode doesn't work)

This commit is contained in:
SND\rene87_cp 2011-11-23 00:04:20 +00:00
parent f83c55788e
commit 689b796ff4
4 changed files with 255 additions and 8 deletions

View File

@ -62,6 +62,7 @@
<Compile Include="DataFactory.cs" />
<Compile Include="Strukturen\CurveKeyCollectionTest.cs" />
<Compile Include="Strukturen\CurveKeyTest.cs" />
<Compile Include="Strukturen\Input\GamePadButtonsTest.cs" />
<Compile Include="Strukturen\Input\GamePadDPadTest.cs" />
<Compile Include="Strukturen\Design\TypeConverterTest.cs" />
<Compile Include="Strukturen\Input\GamePadTest.cs" />

View File

@ -163,6 +163,11 @@ using ANXCurveTangent = ANX.Framework.CurveTangent;
using XNAGamePadState = Microsoft.Xna.Framework.Input.GamePadState;
using ANXGamePadState = ANX.Framework.Input.GamePadState;
using XNAGamePadButtons = Microsoft.Xna.Framework.Input.GamePadButtons;
using ANXGamePadButtons = ANX.Framework.Input.GamePadButtons;
using XNAButtonState = Microsoft.Xna.Framework.Input.ButtonState;
using ANXButtonState = ANX.Framework.Input.ButtonState;
#endregion // Datatype usings
namespace ANX.Framework.TestCenter
@ -909,13 +914,19 @@ namespace ANX.Framework.TestCenter
Assert.Pass(test + " passed");
}
public static void ConvertEquals(XNAButtonState xna, ANXButtonState anx, String test)
{
if ((xna==XNAButtonState.Released)==(anx==ANXButtonState.Released))
{
Assert.Pass(test + " passed");
}
else
{
Assert.Fail(String.Format("{0} failed: xna({1}) anx({2})", test, xna.ToString(), anx.ToString()));
}
}
#endregion
}
}

View File

@ -0,0 +1,235 @@
#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;
using ANXGamePadButtons = ANX.Framework.Input.GamePadButtons;
using XNAButtons = Microsoft.Xna.Framework.Input.Buttons;
using ANXButtons = ANX.Framework.Input.Buttons;
using XNAButtonState = Microsoft.Xna.Framework.Input.ButtonState;
using ANXButtonState = ANX.Framework.Input.ButtonState;
#region License
//
// This file is part of the ANX.Framework created by the "ANX.Framework developer group".
//
// This file is released under the Ms-PL license.
//
//
//
// Microsoft Public License (Ms-PL)
//
// This license governs use of the accompanying software. If you use the software, you accept this license.
// If you do not accept the license, do not use the software.
//
// 1.Definitions
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning
// here as under U.S. copyright law.
// A "contribution" is the original software, or any additions or changes to the software.
// A "contributor" is any person that distributes its contribution under this license.
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
//
// 2.Grant of Rights
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations
// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to
// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution
// or any derivative works that you create.
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in
// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed
// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution
// in the software or derivative works of the contribution in the software.
//
// 3.Conditions and Limitations
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your
// patent license from such contributor to the software ends automatically.
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
// notices that are present in the software.
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or
// object code form, you may only do so under a license that complies with this license.
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees,
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the
// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a
// particular purpose and non-infringement.
#endregion // License
namespace ANX.Framework.TestCenter.Strukturen.Input
{
[TestFixture]
class GamePadButtonsTest
{
#region TestCase
static object[] buttonSample =
{
0,
DataFactory.RandomIntValueMinMax(0,32769),
DataFactory.RandomIntValueMinMax(0,32769),
DataFactory.RandomIntValueMinMax(0,32769),
DataFactory.RandomIntValueMinMax(0,32769),
DataFactory.RandomIntValueMinMax(0,32769),
DataFactory.RandomIntValueMinMax(0,32769),
DataFactory.RandomIntValueMinMax(0,32769),
32768
};
#endregion
[TestCaseSource("buttonSample")]
public void A(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.A, anx.A, "A");
}
[TestCaseSource("buttonSample")]
public void B(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.B, anx.B, "B");
}
[TestCaseSource("buttonSample")]
public void X(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.X, anx.X, "X");
}
[TestCaseSource("buttonSample")]
public void Y(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.Y, anx.Y, "Y");
}
[TestCaseSource("buttonSample")]
public void Back(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.Back, anx.Back, "BAck");
}
[TestCaseSource("buttonSample")]
public void BigButton(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.BigButton, anx.BigButton, "Bigbutton");
}
[TestCaseSource("buttonSample")]
public void LeftShoulder(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.LeftShoulder, anx.LeftShoulder, "LeftShoulder");
}
[TestCaseSource("buttonSample")]
public void LeftStick(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.LeftStick, anx.LeftStick, "LeftStick");
}
[TestCaseSource("buttonSample")]
public void RightShoulder(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.RightShoulder, anx.RightShoulder, "RightShoulder");
}
[TestCaseSource("buttonSample")]
public void RightStick(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.RightStick, anx.RightStick, "RightStick");
}
[TestCaseSource("buttonSample")]
public void Start(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.Start, anx.Start, "Start");
}
[TestCaseSource("buttonSample")]
public void ToString(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
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);
// AssertHelper.ConvertEquals(xna.GetHashCode(), anx.GetHashCode(), "GetHashCode");
//}
[TestCaseSource("buttonSample")]
public void Equals(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
XNAGamePadButtons xna2 = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx2 = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna.Equals(xna2), anx.Equals(anx2), "Equals");
}
[TestCaseSource("buttonSample")]
public void op_Equality(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
XNAGamePadButtons xna2 = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx2 = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna==xna2, anx==anx2, "op_Equality");
}
[TestCaseSource("buttonSample")]
public void op_Inequality(int buttons)
{
XNAGamePadButtons xna = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx = new ANXGamePadButtons((ANXButtons)buttons);
XNAGamePadButtons xna2 = new XNAGamePadButtons((XNAButtons)buttons);
ANXGamePadButtons anx2 = new ANXGamePadButtons((ANXButtons)buttons);
AssertHelper.ConvertEquals(xna != xna2, anx != anx2, "op_Equality");
}
}
}

View File

@ -216,10 +216,10 @@ namespace ANX.Framework.Input
buttons += this.button_b == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "B" : "";
buttons += this.button_x == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "X" : "";
buttons += this.button_y == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Y" : "";
buttons += this.stick_left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "LeftStick" : "";
buttons += this.stick_right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "RightStick" : "";
buttons += this.shoulder_left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "LeftShoulder" : "";
buttons += this.shoulder_right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "RightShoulder" : "";
buttons += this.stick_left == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "LeftStick" : "";
buttons += this.stick_right == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "RightStick" : "";
buttons += this.button_start == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Start" : "";
buttons += this.button_back == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "Back" : "";
buttons += this.button_big == ButtonState.Pressed ? (buttons.Length > 0 ? " " : "") + "BigButton" : "";