ソースを参照

* DrawingTest.cs: add nunit assert to Compare functions
* DrawingTestHelper_java.vmwcsproj, DrawingTestHelper.csproj: add nunit.framework
reference

svn path=/trunk/mcs/; revision=48075

Andrew Skiba 20 年 前
コミット
4e701cdbd5

+ 6 - 0
mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/ChangeLog

@@ -0,0 +1,6 @@
+2005-08-07 Andrew Skiba <[email protected]>
+
+	* DrawingTest.cs: add nunit assert to Compare functions
+	* DrawingTestHelper_java.vmwcsproj, DrawingTestHelper.csproj: add nunit.framework
+	reference
+

+ 46 - 0
mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTest.cs

@@ -21,6 +21,8 @@ using System.Drawing.Imaging;
 using System.Runtime.InteropServices;
 using System.Runtime.InteropServices;
 #endif
 #endif
 
 
+using NUnit.Framework;
+
 namespace DrawingTestHelper
 namespace DrawingTestHelper
 {
 {
 	#region Results serialization classes
 	#region Results serialization classes
@@ -158,6 +160,10 @@ namespace DrawingTestHelper
 	/// Summary description for DrawingTest.
 	/// Summary description for DrawingTest.
 	/// </summary>
 	/// </summary>
 	public abstract class DrawingTest {
 	public abstract class DrawingTest {
+
+		public const float DEFAULT_FLOAT_TOLERANCE = 1e-5f; 
+		public const int DEFAULT_IMAGE_TOLERANCE = 10; 
+
 		Graphics _graphics;
 		Graphics _graphics;
 		protected Bitmap _bitmap;
 		protected Bitmap _bitmap;
 		static string _callingFunction;
 		static string _callingFunction;
@@ -297,15 +303,55 @@ namespace DrawingTestHelper
 			}
 			}
 		}
 		}
 
 
+		public static void AssertAlmostEqual (float expected, float actual)
+		{
+			AssertAlmostEqual (expected, actual, DEFAULT_FLOAT_TOLERANCE);
+		}
+		
+		public static void AssertAlmostEqual (float expected, float actual, float tolerance)
+		{
+			string msg = String.Format("\nExpected : {0} \nActual : {1}",expected.ToString(),actual.ToString());
+			AssertAlmostEqual (expected, actual, tolerance, msg);
+		}
+
+		private static void AssertAlmostEqual (float expected, float actual, float tolerance, string message)
+		{
+			float error = Math.Abs (expected - actual) / (expected + actual + float.Epsilon);
+			Assert.IsTrue (error < tolerance, message);
+		}
+
+		public static void AssertAlmostEqual (PointF expected, PointF actual)
+		{
+			string msg = String.Format("\nExpected : {0} \n  Actual : {1}",expected.ToString(),actual.ToString());
+			AssertAlmostEqual (expected.X, actual.X, DEFAULT_FLOAT_TOLERANCE, msg);
+			AssertAlmostEqual (expected.Y, actual.Y, DEFAULT_FLOAT_TOLERANCE, msg);
+		}
+
+		public bool Compare () {
+			CheckCounter ();
+			return (CompareToExpectedInternal()*100) < DEFAULT_IMAGE_TOLERANCE;
+		}
+
 		/// <summary>
 		/// <summary>
 		/// Checks that the given bitmap norm is similar to expected
 		/// Checks that the given bitmap norm is similar to expected
 		/// </summary>
 		/// </summary>
 		/// <param name="tolerance">tolerance in percents (0..100)</param>
 		/// <param name="tolerance">tolerance in percents (0..100)</param>
 		/// <returns></returns>
 		/// <returns></returns>
+		/// 
 		public bool Compare (double tolerance) {
 		public bool Compare (double tolerance) {
 			CheckCounter ();
 			CheckCounter ();
 			return (CompareToExpectedInternal()*100) < tolerance;
 			return (CompareToExpectedInternal()*100) < tolerance;
 		}
 		}
+
+		public void AssertCompare () {
+			CheckCounter ();
+			Assert.IsTrue ((CompareToExpectedInternal () * 100) < DEFAULT_IMAGE_TOLERANCE);
+		}
+
+		public void AssertCompare (double tolerance) {
+			CheckCounter ();
+			Assert.IsTrue ((CompareToExpectedInternal () * 100) < tolerance);
+		}
 		
 		
 		public double CompareToExpected () {
 		public double CompareToExpected () {
 			CheckCounter ();
 			CheckCounter ();

+ 6 - 0
mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper.csproj

@@ -90,6 +90,12 @@
                     AssemblyName = "System.XML"
                     AssemblyName = "System.XML"
                     HintPath = "..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
                     HintPath = "..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
                 />
                 />
+                <Reference
+                    Name = "nunit.framework"
+                    AssemblyName = "nunit.framework"
+                    HintPath = "..\..\..\..\..\..\..\..\Program Files\NUnit 2.2\bin\nunit.framework.dll"
+                    AssemblyFolderKey = "hklm\dn\nunit.framework"
+                />
             </References>
             </References>
         </Build>
         </Build>
         <Files>
         <Files>

+ 1 - 0
mcs/class/System.Drawing/Test/DrawingTest/DrawingTestHelper/DrawingTestHelper_java.vmwcsproj

@@ -15,6 +15,7 @@
 				<Reference Name="J2SE.Helpers" AssemblyName="J2SE.Helpers" HintPath="..\..\..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\J2SE.Helpers.dll" Private="False"/>
 				<Reference Name="J2SE.Helpers" AssemblyName="J2SE.Helpers" HintPath="..\..\..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\J2SE.Helpers.dll" Private="False"/>
 				<Reference Name="System.Xml" AssemblyName="System.Xml" HintPath="..\..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Xml.dll" Private="False"/>
 				<Reference Name="System.Xml" AssemblyName="System.Xml" HintPath="..\..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Xml.dll" Private="False"/>
 				<Reference Name="Exocortex.DSP.v1.J2EE" Project="{8D602CEF-DC13-48F1-AF0C-F6201A634FD2}" Package="{83B010C7-76FC-4FAD-A26C-00D7EFE60256}"/>
 				<Reference Name="Exocortex.DSP.v1.J2EE" Project="{8D602CEF-DC13-48F1-AF0C-F6201A634FD2}" Package="{83B010C7-76FC-4FAD-A26C-00D7EFE60256}"/>
+				<Reference Name="nunit.framework" AssemblyName="nunit.framework" HintPath="..\..\..\..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\nunit.framework.dll" Private="False"/>
 			</References>
 			</References>
 		</Build>
 		</Build>
 		<Files>
 		<Files>