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:39 UTC

[lucenenet] 05/24: TestWordDelimiterFactory: Converted to use inline anonymous analyzer syntax instead of explicit class definitions

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 dcf7e229cfde0deff57a4a65609e756c89139507
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Fri Jul 17 09:29:52 2020 +0700

    TestWordDelimiterFactory: Converted to use inline anonymous analyzer syntax instead of explicit class definitions
---
 .../Miscellaneous/TestWordDelimiterFilter.cs       | 211 ++++-----------------
 1 file changed, 39 insertions(+), 172 deletions(-)

diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs
index e01b509..a003777 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs
@@ -241,7 +241,11 @@ namespace Lucene.Net.Analysis.Miscellaneous
             CharArraySet protWords = new CharArraySet(TEST_VERSION_CURRENT, new string[] { "NUTCH" }, false);
 
             /* analyzer that uses whitespace + wdf */
-            Analyzer a = new AnalyzerAnonymousInnerClassHelper(this, flags, protWords);
+            Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
+            {
+                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
+                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protWords));
+            });
 
             /* in this case, works as expected. */
             AssertAnalyzesTo(a, "LUCENE / SOLR", new string[] { "LUCENE", "SOLR" }, new int[] { 0, 9 }, new int[] { 6, 13 }, new int[] { 1, 1 });
@@ -252,7 +256,11 @@ namespace Lucene.Net.Analysis.Miscellaneous
             AssertAnalyzesTo(a, "LUCENE / NUTCH SOLR", new string[] { "LUCENE", "NUTCH", "SOLR" }, new int[] { 0, 9, 15 }, new int[] { 6, 14, 19 }, new int[] { 1, 1, 1 });
 
             /* analyzer that will consume tokens with large position increments */
-            Analyzer a2 = new AnalyzerAnonymousInnerClassHelper2(this, flags, protWords);
+            Analyzer a2 = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
+            {
+                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
+                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, new LargePosIncTokenFilter(this, tokenizer), flags, protWords));
+            });
 
             /* increment of "largegap" is preserved */
             AssertAnalyzesTo(a2, "LUCENE largegap SOLR", new string[] { "LUCENE", "largegap", "SOLR" }, new int[] { 0, 7, 16 }, new int[] { 6, 15, 20 }, new int[] { 1, 10, 1 });
@@ -265,7 +273,12 @@ namespace Lucene.Net.Analysis.Miscellaneous
 
             AssertAnalyzesTo(a2, "LUCENE / NUTCH SOLR", new string[] { "LUCENE", "NUTCH", "SOLR" }, new int[] { 0, 9, 15 }, new int[] { 6, 14, 19 }, new int[] { 1, 11, 1 });
 
-            Analyzer a3 = new AnalyzerAnonymousInnerClassHelper3(this, flags, protWords);
+            Analyzer a3 = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
+            {
+                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
+                StopFilter filter = new StopFilter(TEST_VERSION_CURRENT, tokenizer, StandardAnalyzer.STOP_WORDS_SET);
+                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, filter, flags, protWords));
+            });
 
             AssertAnalyzesTo(a3, "lucene.solr", new string[] { "lucene", "lucenesolr", "solr" }, new int[] { 0, 0, 7 }, new int[] { 6, 11, 11 }, new int[] { 1, 0, 1 });
 
@@ -273,70 +286,6 @@ namespace Lucene.Net.Analysis.Miscellaneous
             AssertAnalyzesTo(a3, "the lucene.solr", new string[] { "lucene", "lucenesolr", "solr" }, new int[] { 4, 4, 11 }, new int[] { 10, 15, 15 }, new int[] { 2, 0, 1 });
         }
 
-        private class AnalyzerAnonymousInnerClassHelper : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-            private CharArraySet protWords;
-
-            public AnalyzerAnonymousInnerClassHelper(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags, CharArraySet protWords)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-                this.protWords = protWords;
-            }
-
-            protected internal override TokenStreamComponents CreateComponents(string field, TextReader reader)
-            {
-                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
-                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protWords));
-            }
-        }
-
-        private class AnalyzerAnonymousInnerClassHelper2 : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-            private CharArraySet protWords;
-
-            public AnalyzerAnonymousInnerClassHelper2(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags, CharArraySet protWords)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-                this.protWords = protWords;
-            }
-
-            protected internal override TokenStreamComponents CreateComponents(string field, TextReader reader)
-            {
-                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
-                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, new LargePosIncTokenFilter(outerInstance, tokenizer), flags, protWords));
-            }
-        }
-
-        private class AnalyzerAnonymousInnerClassHelper3 : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-            private CharArraySet protWords;
-
-            public AnalyzerAnonymousInnerClassHelper3(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags, CharArraySet protWords)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-                this.protWords = protWords;
-            }
-
-            protected internal override TokenStreamComponents CreateComponents(string field, TextReader reader)
-            {
-                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
-                StopFilter filter = new StopFilter(TEST_VERSION_CURRENT, tokenizer, StandardAnalyzer.STOP_WORDS_SET);
-                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, filter, flags, protWords));
-            }
-        }
-
         /// <summary>
         /// concat numbers + words + all </summary>
         [Test]
@@ -352,28 +301,13 @@ namespace Lucene.Net.Analysis.Miscellaneous
                 | WordDelimiterFlags.STEM_ENGLISH_POSSESSIVE;
 
             /* analyzer that uses whitespace + wdf */
-            Analyzer a = new AnalyzerAnonymousInnerClassHelper4(this, flags);
-
-            AssertAnalyzesTo(a, "abc-def-123-456", new string[] { "abc", "abcdef", "abcdef123456", "def", "123", "123456", "456" }, new int[] { 0, 0, 0, 4, 8, 8, 12 }, new int[] { 3, 7, 15, 7, 11, 15, 15 }, new int[] { 1, 0, 0, 1, 1, 0, 1 });
-        }
-
-        private class AnalyzerAnonymousInnerClassHelper4 : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-
-            public AnalyzerAnonymousInnerClassHelper4(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-            }
-
-            protected internal override TokenStreamComponents CreateComponents(string field, TextReader reader)
+            Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
             {
                 Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
                 return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, null));
-            }
+            });
+
+            AssertAnalyzesTo(a, "abc-def-123-456", new string[] { "abc", "abcdef", "abcdef123456", "def", "123", "123456", "456" }, new int[] { 0, 0, 0, 4, 8, 8, 12 }, new int[] { 3, 7, 15, 7, 11, 15, 15 }, new int[] { 1, 0, 0, 1, 1, 0, 1 });
         }
 
         /// <summary>
@@ -392,28 +326,13 @@ namespace Lucene.Net.Analysis.Miscellaneous
                 | WordDelimiterFlags.STEM_ENGLISH_POSSESSIVE;
 
             /* analyzer that uses whitespace + wdf */
-            Analyzer a = new AnalyzerAnonymousInnerClassHelper5(this, flags);
-
-            AssertAnalyzesTo(a, "abc-def-123-456", new string[] { "abc-def-123-456", "abc", "abcdef", "abcdef123456", "def", "123", "123456", "456" }, new int[] { 0, 0, 0, 0, 4, 8, 8, 12 }, new int[] { 15, 3, 7, 15, 7, 11, 15, 15 }, new int[] { 1, 0, 0, 0, 1, 1, 0, 1 });
-        }
-
-        private class AnalyzerAnonymousInnerClassHelper5 : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-
-            public AnalyzerAnonymousInnerClassHelper5(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-            }
-
-            protected internal override TokenStreamComponents CreateComponents(string field, TextReader reader)
+            Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
             {
                 Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
                 return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, null));
-            }
+            });
+
+            AssertAnalyzesTo(a, "abc-def-123-456", new string[] { "abc-def-123-456", "abc", "abcdef", "abcdef123456", "def", "123", "123456", "456" }, new int[] { 0, 0, 0, 0, 4, 8, 8, 12 }, new int[] { 15, 3, 7, 15, 7, 11, 15, 15 }, new int[] { 1, 0, 0, 0, 1, 1, 0, 1 });
         }
 
         /// <summary>
@@ -434,32 +353,15 @@ namespace Lucene.Net.Analysis.Miscellaneous
                     protectedWords = null;
                 }
 
-                Analyzer a = new AnalyzerAnonymousInnerClassHelper6(this, flags, protectedWords);
+                Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
+                {
+                    Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
+                    return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protectedWords));
+                });
                 CheckRandomData(Random, a, 1000 * RandomMultiplier);
             }
         }
 
-        private class AnalyzerAnonymousInnerClassHelper6 : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-            private CharArraySet protectedWords;
-
-            public AnalyzerAnonymousInnerClassHelper6(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags, CharArraySet protectedWords)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-                this.protectedWords = protectedWords;
-            }
-
-            protected internal override TokenStreamComponents CreateComponents(string fieldName, TextReader reader)
-            {
-                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
-                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protectedWords));
-            }
-        }
-
         /// <summary>
         /// blast some enormous random strings through the analyzer </summary>
         [Test]
@@ -480,33 +382,15 @@ namespace Lucene.Net.Analysis.Miscellaneous
                     protectedWords = null;
                 }
 
-                Analyzer a = new AnalyzerAnonymousInnerClassHelper7(this, flags, protectedWords);
+                Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
+                {
+                    Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
+                    return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protectedWords));
+                });
                 CheckRandomData(Random, a, 100 * RandomMultiplier, 8192);
             }
         }
 
-        private class AnalyzerAnonymousInnerClassHelper7 : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-            private CharArraySet protectedWords;
-
-            public AnalyzerAnonymousInnerClassHelper7(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags, CharArraySet protectedWords)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-                this.protectedWords = protectedWords;
-            }
-
-
-            protected internal override TokenStreamComponents CreateComponents(string fieldName, TextReader reader)
-            {
-                Tokenizer tokenizer = new MockTokenizer(reader, MockTokenizer.WHITESPACE, false);
-                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protectedWords));
-            }
-        }
-
         [Test]
         public virtual void TestEmptyTerm()
         {
@@ -524,31 +408,14 @@ namespace Lucene.Net.Analysis.Miscellaneous
                     protectedWords = null;
                 }
 
-                Analyzer a = new AnalyzerAnonymousInnerClassHelper8(this, flags, protectedWords);
+                Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
+                {
+                    Tokenizer tokenizer = new KeywordTokenizer(reader);
+                    return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protectedWords));
+                });
                 // depending upon options, this thing may or may not preserve the empty term
                 CheckAnalysisConsistency(random, a, random.nextBoolean(), "");
             }
         }
-
-        private class AnalyzerAnonymousInnerClassHelper8 : Analyzer
-        {
-            private readonly TestWordDelimiterFilter outerInstance;
-
-            private WordDelimiterFlags flags;
-            private CharArraySet protectedWords;
-
-            public AnalyzerAnonymousInnerClassHelper8(TestWordDelimiterFilter outerInstance, WordDelimiterFlags flags, CharArraySet protectedWords)
-            {
-                this.outerInstance = outerInstance;
-                this.flags = flags;
-                this.protectedWords = protectedWords;
-            }
-
-            protected internal override TokenStreamComponents CreateComponents(string fieldName, TextReader reader)
-            {
-                Tokenizer tokenizer = new KeywordTokenizer(reader);
-                return new TokenStreamComponents(tokenizer, new WordDelimiterFilter(TEST_VERSION_CURRENT, tokenizer, flags, protectedWords));
-            }
-        }
     }
 }
\ No newline at end of file