You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2020/07/21 09:48:52 UTC

[lucenenet] 18/24: PERFORMANCE: Lucene.Net.Tests.Analysis.Common: Changed Hunspell StemmerTestBase to use more optimized assert to compare arrays

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 0c5702a7e3634d7f82429f52a3100e6358c586de
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Jul 18 04:49:10 2020 +0700

    PERFORMANCE: Lucene.Net.Tests.Analysis.Common: Changed Hunspell StemmerTestBase to use more optimized assert to compare arrays
---
 .../Support/JavaCompatibility/LuceneTestCase.cs                | 10 ++++++++++
 .../Analysis/Hunspell/StemmerTestBase.cs                       |  5 ++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs
index 0782bb6..f343b01 100644
--- a/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Support/JavaCompatibility/LuceneTestCase.cs
@@ -223,6 +223,16 @@ namespace Lucene.Net.Util
             Assert.AreEqual(a1, a2);
         }
 
+        internal static void assertArrayEquals<T>(string message, T[] a1, T[] a2)
+        {
+            Assert.AreEqual(a1, a2, message);
+        }
+
+        internal static void assertArrayEquals<T>(Func<string> getMessage, T[] a1, T[] a2)
+        {
+            Assert.AreEqual(a1, a2, getMessage());
+        }
+
         internal static void assertSame(object expected, object actual)
         {
             Assert.AreSame(expected, actual);
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Hunspell/StemmerTestBase.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Hunspell/StemmerTestBase.cs
index f1443c6..4a6498a 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Hunspell/StemmerTestBase.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Hunspell/StemmerTestBase.cs
@@ -83,9 +83,8 @@ namespace Lucene.Net.Analysis.Hunspell
             }
             Array.Sort(actual);
 
-            // LUCENENET: Originally, the code was as follows, but it failed to properly compare the arrays.
-            //assertArrayEquals("expected=" + Arrays.ToString(expected) + ",actual=" + Arrays.ToString(actual), expected, actual);
-            Assert.AreEqual(expected, actual, "expected=" + Arrays.ToString(expected) + ",actual=" + Arrays.ToString(actual));
+            // LUCENENET: Use delegate to build the string so we don't have the expensive operation unless there is a failure
+            assertArrayEquals(() => "expected=" + Arrays.ToString(expected) + ",actual=" + Arrays.ToString(actual), expected, actual);
         }
     }
 }
\ No newline at end of file