Please sign in to comment.
Adds a testing harness and XNA conformance tests.
On Windows, the Tests solution contains a version of the tests which can be run against XNA as well as a version that can be run against MonoGame. These are standard NUnit test assemblies, and should be run as normal with NUnit. For Mac and Linux, the state of NUnit is trickier. Mono/MonoDevelop ship with quite an old version, so a custom runner is used. So, rather than using NUnit or MonoDevelop's built-in runner, a custom runner is provided that executes the tests using the version of NUnit in ThirdParty/Libs. After the tests have completed, the default browser is invoked to view the HTML version of the results. GameTest - Collects various tests that make assertions about the contract of the Game class in XNA vs the current contract in MonoGame. GameTest+Properties - Makes assertions about the Game class's properties. - Tests for default values, read-only or read-write status, availability during the lifetime of the Game, etc. CommandLineInterface - Wraps the core logic for invoking NUnit into an opaque wrapper that can be easily invoked from different platforms. - Currently writes NUnit results in an abbreviated format to stdout, the standard NUnit xml format as test_results.xml, and an xsl-transformed test_results.html for easy viewing. Game - Added InactiveSleepTime as a to-be-implemented property. MonoGame.Tests/Resources - Houses the xsl used by CommandLineInterface, as well as sample data and a Makefile for easy development (well, easy on Mac, anyway).
- Loading branch information...
Showing with 2,718 additions and 17 deletions.
- +1 −1 LICENSE.txt
- +6 −0 MonoGame.Framework/Game.cs
- +2 −2 MonoGame.Framework/LaunchParameters.cs
- +4 −4 MonoGame.Framework/Linux/LinuxGamePlatform.cs
- +2 −6 MonoGame.Framework/MacOS/MacGamePlatform.cs
- +2 −1 MonoGame.Framework/MonoGame.Framework.Linux.csproj
- +3 −3 MonoGame.Framework/MonoGame.Framework.MacOS.csproj
- +470 −0 MonoGame.Tests/GameTest+Properties.cs
- +439 −0 MonoGame.Tests/GameTest.cs
- +193 −0 MonoGame.Tests/Interface/CommandLineInterface.cs
- +80 −0 MonoGame.Tests/Linux/Program.cs
- +91 −0 MonoGame.Tests/MacOS/Program.cs
- +104 −0 MonoGame.Tests/MonoGame.Tests.Linux.csproj
- +61 −0 MonoGame.Tests/MonoGame.Tests.Linux.sln
- +80 −0 MonoGame.Tests/MonoGame.Tests.MacOS.csproj
- +62 −0 MonoGame.Tests/MonoGame.Tests.MacOS.sln
- +76 −0 MonoGame.Tests/MonoGame.Tests.Windows.csproj
- +53 −0 MonoGame.Tests/MonoGame.Tests.Windows.sln
- +73 −0 MonoGame.Tests/MonoGame.Tests.XNA.csproj
- +36 −0 MonoGame.Tests/Properties/AssemblyInfo.cs
- +9 −0 MonoGame.Tests/Resources/Makefile
- +523 −0 MonoGame.Tests/Resources/test_results.xml
- +348 −0 MonoGame.Tests/Resources/tests.xsl
Oops, something went wrong.