Lucene.Net.Tests.Analysis.Common.Analysis.Core.TestRandomChains: Added reusable 
AnonymousProducer class and made new registration for WordDelimiterFlags


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/07ab6691
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/07ab6691
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/07ab6691

Branch: refs/heads/api-work
Commit: 07ab669176ce58d6a4f29e91db5446ac6762f473
Parents: 7c29325
Author: Shad Storhaug <[email protected]>
Authored: Fri Mar 3 15:39:54 2017 +0700
Committer: Shad Storhaug <[email protected]>
Committed: Sun Mar 5 17:08:34 2017 +0700

----------------------------------------------------------------------
 .../Analysis/Core/TestRandomChains.cs           | 21 ++++++++++++++++++++
 1 file changed, 21 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/07ab6691/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs
----------------------------------------------------------------------
diff --git 
a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs 
b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs
index 2607c19..3e6bc48 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs
@@ -306,6 +306,10 @@ namespace Lucene.Net.Analysis.Core
             { typeof(CharArrayMap<string>), new 
StringCharArrayMapArgProducer() },
             { typeof(StemmerOverrideFilter.StemmerOverrideMap), new 
StemmerOverrideMapArgProducer() },
             { typeof(SynonymMap), new SynonymMapArgProducer() },
+            { typeof(WordDelimiterFlags), new AnonymousProducer((random) => {
+                int max = 
Enum.GetValues(typeof(WordDelimiterFlags)).Cast<int>().Sum();
+                return (WordDelimiterFlags)random.Next(0, max + 1);
+            }) }, // WordDelimiterFilter
         };
 
         private class IntArgProducer : IArgProducer
@@ -319,6 +323,23 @@ namespace Lucene.Net.Analysis.Core
             }
         }
 
+        private class AnonymousProducer : IArgProducer
+        {
+            private readonly Func<Random, object> create;
+
+            public AnonymousProducer(Func<Random, object> create)
+            {
+                if (create == null)
+                    throw new ArgumentNullException("create");
+                this.create = create;
+            }
+
+            public object Create(Random random)
+            {
+                return create(random);
+            }
+        }
+
         private class CharArgProducer : IArgProducer
         {
             public object Create(Random random)

Reply via email to