This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 2e0f25d513b5e39f80f66fca2e7d0afbe02d0331
Author: Shad Storhaug <[email protected]>
AuthorDate: Wed Jun 24 06:12:04 2020 +0700

    Lucene.Net.TestFramework: Optimized array asserts by first checking with 
J2N.Collections.ArrayEqualityComparer<T> before cascading only the failing 
calls to NUnit.CollectionAssert.AreEqual to generate the error message (#295, 
#261)
---
 .../Support/TestFramework/Assert.cs                | 14 +++++++++++--
 .../Support/JavaCompatibility/LuceneTestCase.cs    | 24 ++++++++++++++--------
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/Lucene.Net.TestFramework.NUnit/Support/TestFramework/Assert.cs 
b/src/Lucene.Net.TestFramework.NUnit/Support/TestFramework/Assert.cs
index c4286c3..40334c8 100644
--- a/src/Lucene.Net.TestFramework.NUnit/Support/TestFramework/Assert.cs
+++ b/src/Lucene.Net.TestFramework.NUnit/Support/TestFramework/Assert.cs
@@ -284,13 +284,23 @@ namespace Lucene.Net.TestFramework
         // From CollectionAssert
         public static void AreEqual<T>(T[] expected, T[] actual)
         {
-            _NUnit.CollectionAssert.AreEqual(expected, actual);
+            // LUCENENET: Do the initial check with the (fast) J2N array 
comparison. If it fails,
+            // then use CollectionAssert to re-do the check in a slower way 
and generate the assert message.
+            if 
(!J2N.Collections.ArrayEqualityComparer<T>.OneDimensional.Equals(expected, 
actual))
+            {
+                _NUnit.CollectionAssert.AreEqual(expected, actual);
+            }
         }
 
         // From CollectionAssert
         public static void AreEqual<T>(T[] expected, T[] actual, string 
message, params object[] args)
         {
-            _NUnit.CollectionAssert.AreEqual(expected, actual, message, args);
+            // LUCENENET: Do the initial check with the (fast) J2N array 
comparison. If it fails,
+            // then use CollectionAssert to re-do the check in a slower way 
and generate the assert message.
+            if 
(!J2N.Collections.ArrayEqualityComparer<T>.OneDimensional.Equals(expected, 
actual))
+            {
+                _NUnit.CollectionAssert.AreEqual(expected, actual, message, 
args);
+            }
         }
 
         public static void AreEqual<T, S>(IDictionary<T, S> expected, 
IDictionary<T, S> actual)
diff --git 
a/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs 
b/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs
index 6bbd830..0c067b0 100644
--- a/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs
@@ -80,26 +80,22 @@ namespace Lucene.Net.Util
 
         internal static void assertEquals(bool expected, bool actual)
         {
-            Assert.IsTrue(expected.Equals(actual));
-            //Assert.AreEqual(expected, actual);
+            Assert.AreEqual(expected, actual);
         }
 
         internal static void assertEquals(string message, bool expected, bool 
actual)
         {
-            Assert.IsTrue(expected.Equals(actual), message);
-            //Assert.AreEqual(expected, actual, message);
+            Assert.AreEqual(expected, actual, message);
         }
 
         internal static void assertEquals(long expected, long actual)
         {
-            Assert.True(expected == actual);
-            //Assert.AreEqual(expected, actual);
+            Assert.AreEqual(expected, actual);
         }
 
         internal static void assertEquals(string message, long expected, long 
actual)
         {
-            Assert.True(expected == actual, message);
-            //Assert.AreEqual(expected, actual, message);
+            Assert.AreEqual(expected, actual, message);
         }
 
         internal static void assertEquals(int expected, int actual)
@@ -142,6 +138,16 @@ namespace Lucene.Net.Util
             Assert.True(JCG.SetEqualityComparer<T>.Aggressive.Equals(expected, 
actual), message);
         }
 
+        internal static void assertEquals<T>(T[] expected, T[] actual)
+        {
+            Assert.AreEqual(expected, actual);
+        }
+
+        internal static void assertEquals<T>(string message, T[] expected, T[] 
actual)
+        {
+            Assert.AreEqual(expected, actual, message);
+        }
+
         internal static void assertEquals<T, S>(IDictionary<T, S> expected, 
IDictionary<T, S> actual)
         {
             Assert.AreEqual(expected, actual);
@@ -189,7 +195,7 @@ namespace Lucene.Net.Util
 
         internal static void assertArrayEquals<T>(T[] a1, T[] a2)
         {
-            CollectionAssert.AreEqual(a1, a2);
+            Assert.AreEqual(a1, a2);
         }
 
         internal static void assertSame(Object expected, Object actual)

Reply via email to