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 <[email protected]> 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
