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/02/12 17:14:28 UTC

[lucenenet] 02/05: SWEEP: Pass Random instance to all Shuffle() method calls to ensure the same psuedo-random sequence is used based on the seed.

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 a75a3a339c030e68f2db30d4022440cb78499a8b
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Feb 10 20:11:04 2020 +0700

    SWEEP: Pass Random instance to all Shuffle() method calls to ensure the same psuedo-random sequence is used based on the seed.
---
 .../Index/BaseStoredFieldsFormatTestCase.cs                  |  2 +-
 src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs          |  4 ++--
 .../Taxonomy/TestTaxonomyFacetCounts2.cs                     |  4 ++--
 src/Lucene.Net.Tests.Join/TestBlockJoin.cs                   |  6 +++---
 src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs     |  2 +-
 src/Lucene.Net.Tests.Queries/TermsFilterTest.cs              |  4 ++--
 .../Suggest/Analyzing/AnalyzingSuggesterTest.cs              |  2 +-
 .../Suggest/Analyzing/FuzzySuggesterTest.cs                  |  2 +-
 src/Lucene.Net.Tests.Suggest/Suggest/LookupBenchmarkTest.cs  |  4 ++--
 .../Codecs/Lucene3x/TestTermInfosReaderIndex.cs              |  2 +-
 .../Codecs/Lucene40/TestLucene40PostingsReader.cs            |  2 +-
 .../Codecs/Lucene41/TestBlockPostingsFormat3.cs              |  2 +-
 src/Lucene.Net.Tests/Index/Test2BTerms.cs                    |  2 +-
 src/Lucene.Net.Tests/Index/TestBagOfPositions.cs             |  2 +-
 src/Lucene.Net.Tests/Index/TestBagOfPostings.cs              |  2 +-
 src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs          |  4 ++--
 src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs           |  2 +-
 src/Lucene.Net.Tests/Index/TestTermsEnum2.cs                 |  2 +-
 src/Lucene.Net.Tests/Search/TestMinShouldMatch2.cs           |  6 +++---
 src/Lucene.Net.Tests/Search/TestSameScoresWithThreads.cs     |  2 +-
 src/Lucene.Net.Tests/Search/TestShardSearching.cs            |  2 +-
 src/Lucene.Net.Tests/Search/TestSort.cs                      | 12 ++++++------
 src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs                    |  2 +-
 23 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
index 7a7d31c..da7f856 100644
--- a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
@@ -138,7 +138,7 @@ namespace Lucene.Net.Index
                         if (rand.Next(50) == 17)
                         {
                             // mixup binding of field name -> Number every so often
-                            fieldIDs.Shuffle();
+                            fieldIDs.Shuffle(Random);
                         }
                         if (rand.Next(5) == 3 && i > 0)
                         {
diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index ff36d6e..e2af615 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -1835,7 +1835,7 @@ namespace Lucene.Net.Util
                             {
                                 allFields.Add(fi.Name);
                             }
-                            allFields.Shuffle();
+                            allFields.Shuffle(Random);
                             int end = allFields.Count == 0 ? 0 : random.Next(allFields.Count);
                             ISet<string> fields = new JCG.HashSet<string>(allFields.SubList(0, end));
                             // will create no FC insanity as ParallelAtomicReader has own cache key:
@@ -2622,7 +2622,7 @@ namespace Lucene.Net.Util
             rightEnum = rightTerms.GetIterator(rightEnum);
 
             IList<BytesRef> shuffledTests = new List<BytesRef>(tests);
-            shuffledTests.Shuffle();
+            shuffledTests.Shuffle(Random);
 
             foreach (BytesRef b in shuffledTests)
             {
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts2.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts2.cs
index bdfe28c..aca39cd 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts2.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts2.cs
@@ -99,8 +99,8 @@ namespace Lucene.Net.Facet.Taxonomy
             categories_a.AddRange(CATEGORIES_A);
             List<FacetField> categories_b = new List<FacetField>();
             categories_b.AddRange(CATEGORIES_B);
-            categories_a.Shuffle();
-            categories_b.Shuffle();
+            categories_a.Shuffle(Random);
+            categories_b.Shuffle(Random);
 
             List<FacetField> categories = new List<FacetField>();
             categories.AddRange(categories_a.SubList(0, numFacetsA));
diff --git a/src/Lucene.Net.Tests.Join/TestBlockJoin.cs b/src/Lucene.Net.Tests.Join/TestBlockJoin.cs
index 0a8159d..751f318 100644
--- a/src/Lucene.Net.Tests.Join/TestBlockJoin.cs
+++ b/src/Lucene.Net.Tests.Join/TestBlockJoin.cs
@@ -297,13 +297,13 @@ namespace Lucene.Net.Tests.Join
             IList<Document> docs = new List<Document>();
             docs.Add(MakeJob("java", 2007));
             docs.Add(MakeJob("python", 2010));
-            docs.Shuffle();
+            docs.Shuffle(Random);
             docs.Add(MakeResume("Lisa", "United Kingdom"));
 
             IList<Document> docs2 = new List<Document>();
             docs2.Add(MakeJob("ruby", 2005));
             docs2.Add(MakeJob("java", 2006));
-            docs2.Shuffle();
+            docs2.Shuffle(Random);
             docs2.Add(MakeResume("Frank", "United States"));
 
             AddSkillless(w);
@@ -1320,7 +1320,7 @@ namespace Lucene.Net.Tests.Join
             docs.Add(MakeJob("java", 2006));
             docs.Add(MakeJob("java", 2010));
             docs.Add(MakeJob("java", 2012));
-            docs.Shuffle();
+            docs.Shuffle(Random);
             docs.Add(MakeResume("Frank", "United States"));
 
             AddSkillless(w);
diff --git a/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs b/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
index d63b643..8152467 100644
--- a/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
+++ b/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
@@ -182,7 +182,7 @@ namespace Lucene.Net.Index.Sorter
                 ids.Add(i * 10);
             }
             // shuffle them for indexing
-            ids.Shuffle();
+            ids.Shuffle(Random);
 
             if (VERBOSE)
             {
diff --git a/src/Lucene.Net.Tests.Queries/TermsFilterTest.cs b/src/Lucene.Net.Tests.Queries/TermsFilterTest.cs
index 88d512a..3a1dc4c 100644
--- a/src/Lucene.Net.Tests.Queries/TermsFilterTest.cs
+++ b/src/Lucene.Net.Tests.Queries/TermsFilterTest.cs
@@ -259,7 +259,7 @@ namespace Lucene.Net.Tests.Queries
             int numQueries = AtLeast(10);
             for (int i = 0; i < numQueries; i++)
             {
-                terms.Shuffle();
+                terms.Shuffle(Random);
                 int numTerms = 1 + Random.Next(Math.Min(BooleanQuery.MaxClauseCount, terms.Count));
                 BooleanQuery bq = new BooleanQuery();
                 for (int j = 0; j < numTerms; j++)
@@ -325,7 +325,7 @@ namespace Lucene.Net.Tests.Queries
                 terms.Add(new Term(field, @string));
                 uniqueTerms.Add(new Term(field, @string));
                 TermsFilter left = TermsFilter(singleField && Random.NextBoolean(), uniqueTerms);
-                terms.Shuffle();
+                terms.Shuffle(Random);
                 TermsFilter right = TermsFilter(singleField && Random.NextBoolean(), terms);
                 assertEquals(right, left);
                 assertEquals(right.GetHashCode(), left.GetHashCode());
diff --git a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingSuggesterTest.cs b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingSuggesterTest.cs
index 248f489..83b5324 100644
--- a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingSuggesterTest.cs
+++ b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingSuggesterTest.cs
@@ -1502,7 +1502,7 @@ namespace Lucene.Net.Search.Suggest.Analyzing
             {
                 asList.Add(value);
             }
-            asList.Shuffle();
+            asList.Shuffle(Random);
             return asList;
         }
     }
diff --git a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs
index c960f6d..06a972d 100644
--- a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs
+++ b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs
@@ -1154,7 +1154,7 @@ namespace Lucene.Net.Search.Suggest.Analyzing
                 Console.WriteLine("TEST: maxEdits=" + maxEdits + " prefixLen=" + prefixLen + " transpositions=" + transpositions + " num=" + NUM);
             }
 
-            answers.Shuffle();
+            answers.Shuffle(Random);
             suggest.Build(new InputArrayIterator(answers.ToArray()));
 
             int ITERS = AtLeast(100);
diff --git a/src/Lucene.Net.Tests.Suggest/Suggest/LookupBenchmarkTest.cs b/src/Lucene.Net.Tests.Suggest/Suggest/LookupBenchmarkTest.cs
index 175d5fa..15094cc 100644
--- a/src/Lucene.Net.Tests.Suggest/Suggest/LookupBenchmarkTest.cs
+++ b/src/Lucene.Net.Tests.Suggest/Suggest/LookupBenchmarkTest.cs
@@ -77,9 +77,9 @@ namespace Lucene.Net.Search.Suggest
         {
             Debug.Assert(false, "disable assertions before running benchmarks!");
             IList<Input> input = ReadTop50KWiki();
-            input.Shuffle();
+            input.Shuffle(Random);
             dictionaryInput = input.ToArray();
-            input.Shuffle();
+            input.Shuffle(Random);
             benchmarkInput = input;
         }
 
diff --git a/src/Lucene.Net.Tests/Codecs/Lucene3x/TestTermInfosReaderIndex.cs b/src/Lucene.Net.Tests/Codecs/Lucene3x/TestTermInfosReaderIndex.cs
index 46134aa..a708dde 100644
--- a/src/Lucene.Net.Tests/Codecs/Lucene3x/TestTermInfosReaderIndex.cs
+++ b/src/Lucene.Net.Tests/Codecs/Lucene3x/TestTermInfosReaderIndex.cs
@@ -187,7 +187,7 @@ namespace Lucene.Net.Codecs.Lucene3x
                     }
                 }
             }
-            sample.Shuffle();
+            sample.Shuffle(Random);
             return sample;
         }
 
diff --git a/src/Lucene.Net.Tests/Codecs/Lucene40/TestLucene40PostingsReader.cs b/src/Lucene.Net.Tests/Codecs/Lucene40/TestLucene40PostingsReader.cs
index 2ab8c24..744895a 100644
--- a/src/Lucene.Net.Tests/Codecs/Lucene40/TestLucene40PostingsReader.cs
+++ b/src/Lucene.Net.Tests/Codecs/Lucene40/TestLucene40PostingsReader.cs
@@ -153,7 +153,7 @@ namespace Lucene.Net.Codecs.Lucene40
                 }
                 i++;
             }
-            shuffled.Shuffle();
+            shuffled.Shuffle(Random);
             foreach (string term in shuffled)
             {
                 sb.Append(term);
diff --git a/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs b/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
index 20f4593..1b85750 100644
--- a/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
+++ b/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
@@ -274,7 +274,7 @@ namespace Lucene.Net.Codecs.Lucene41
             }
 
             List<BytesRef> shuffledTests = new List<BytesRef>(tests);
-            shuffledTests.Shuffle();
+            shuffledTests.Shuffle(Random);
 
             foreach (BytesRef b in shuffledTests)
             {
diff --git a/src/Lucene.Net.Tests/Index/Test2BTerms.cs b/src/Lucene.Net.Tests/Index/Test2BTerms.cs
index e1f09a2..58903f7 100644
--- a/src/Lucene.Net.Tests/Index/Test2BTerms.cs
+++ b/src/Lucene.Net.Tests/Index/Test2BTerms.cs
@@ -282,7 +282,7 @@ namespace Lucene.Net.Index
         {
             Console.WriteLine("TEST: run " + terms.Count + " terms on reader=" + r);
             IndexSearcher s = NewSearcher(r);
-            terms.Shuffle();
+            terms.Shuffle(Random);
             TermsEnum termsEnum = MultiFields.GetTerms(r, "field").GetIterator(null);
             bool failed = false;
             for (int iter = 0; iter < 10 * terms.Count; iter++)
diff --git a/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs b/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs
index 901229b..6a93bfb 100644
--- a/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs
+++ b/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs
@@ -79,7 +79,7 @@ namespace Lucene.Net.Index
                 }
             }
 
-            postingsList.Shuffle();
+            postingsList.Shuffle(Random);
 
             ConcurrentQueue<string> postings = new ConcurrentQueue<string>(postingsList);
 
diff --git a/src/Lucene.Net.Tests/Index/TestBagOfPostings.cs b/src/Lucene.Net.Tests/Index/TestBagOfPostings.cs
index 3dd9274..68806a3 100644
--- a/src/Lucene.Net.Tests/Index/TestBagOfPostings.cs
+++ b/src/Lucene.Net.Tests/Index/TestBagOfPostings.cs
@@ -79,7 +79,7 @@ namespace Lucene.Net.Index
                     postingsList.Add(term);
                 }
             }
-            postingsList.Shuffle();
+            postingsList.Shuffle(Random);
 
             ConcurrentQueue<string> postings = new ConcurrentQueue<string>(postingsList);
 
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
index e9586cc..8477174 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
@@ -1123,14 +1123,14 @@ namespace Lucene.Net.Index
             {
                 ids.Add(id);
             }
-            ids.Shuffle();
+            ids.Shuffle(Random);
             foreach (int id in ids)
             {
                 Document doc = new Document();
                 doc.Add(NewStringField("id", "" + id, Field.Store.NO));
                 w.AddDocument(doc);
             }
-            ids.Shuffle();
+            ids.Shuffle(Random);
             int upto = 0;
             while (upto < ids.Count)
             {
diff --git a/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs b/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs
index 25fc445..69a6072 100644
--- a/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs
+++ b/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs
@@ -108,7 +108,7 @@ namespace Lucene.Net.Index
             }
             Expected.Add(max);
 
-            terms.Shuffle();
+            terms.Shuffle(Random);
             return Arrays.ToString(terms.ToArray());
         }
 
diff --git a/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs b/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs
index eda537e..7609376 100644
--- a/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs
+++ b/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs
@@ -129,7 +129,7 @@ namespace Lucene.Net.Index
                 Automaton automaton = (new RegExp(reg, RegExpSyntax.NONE)).ToAutomaton();
                 TermsEnum te = MultiFields.GetTerms(Reader, "field").GetIterator(null);
                 IList<BytesRef> unsortedTerms = new List<BytesRef>(Terms);
-                unsortedTerms.Shuffle();
+                unsortedTerms.Shuffle(Random);
 
                 foreach (BytesRef term in unsortedTerms)
                 {
diff --git a/src/Lucene.Net.Tests/Search/TestMinShouldMatch2.cs b/src/Lucene.Net.Tests/Search/TestMinShouldMatch2.cs
index 222073c..84e92cd 100644
--- a/src/Lucene.Net.Tests/Search/TestMinShouldMatch2.cs
+++ b/src/Lucene.Net.Tests/Search/TestMinShouldMatch2.cs
@@ -135,7 +135,7 @@ namespace Lucene.Net.Search
         private static void AddSome(Document doc, string[] values)
         {
             IList<string> list = values.ToArray();
-            list.Shuffle();
+            list.Shuffle(Random);
             int howMany = TestUtil.NextInt32(Random, 1, list.Count);
             for (int i = 0; i < howMany; i++)
             {
@@ -296,7 +296,7 @@ namespace Lucene.Net.Search
             termsList.AddRange(CommonTerms);
             termsList.AddRange(MediumTerms);
             termsList.AddRange(RareTerms);
-            termsList.Shuffle();
+            termsList.Shuffle(Random);
 
             for (int numTerms = 2; numTerms <= termsList.Count; numTerms++)
             {
@@ -319,7 +319,7 @@ namespace Lucene.Net.Search
             termsList.AddRange(CommonTerms);
             termsList.AddRange(MediumTerms);
             termsList.AddRange(RareTerms);
-            termsList.Shuffle();
+            termsList.Shuffle(Random);
 
             for (int amount = 25; amount < 200; amount += 25)
             {
diff --git a/src/Lucene.Net.Tests/Search/TestSameScoresWithThreads.cs b/src/Lucene.Net.Tests/Search/TestSameScoresWithThreads.cs
index 2420619..7b2d295 100644
--- a/src/Lucene.Net.Tests/Search/TestSameScoresWithThreads.cs
+++ b/src/Lucene.Net.Tests/Search/TestSameScoresWithThreads.cs
@@ -138,7 +138,7 @@ namespace Lucene.Net.Search
                     for (int i = 0; i < 20; i++)
                     {
                         IList<KeyValuePair<BytesRef, TopDocs>> shuffled = new List<KeyValuePair<BytesRef, TopDocs>>(Answers);
-                        shuffled.Shuffle();
+                        shuffled.Shuffle(Random);
                         foreach (KeyValuePair<BytesRef, TopDocs> ent in shuffled)
                         {
                             TopDocs actual = s.Search(new TermQuery(new Term("body", ent.Key)), 100);
diff --git a/src/Lucene.Net.Tests/Search/TestShardSearching.cs b/src/Lucene.Net.Tests/Search/TestShardSearching.cs
index 50385b9..df881d2 100644
--- a/src/Lucene.Net.Tests/Search/TestShardSearching.cs
+++ b/src/Lucene.Net.Tests/Search/TestShardSearching.cs
@@ -325,7 +325,7 @@ namespace Lucene.Net.Search
                     priorSearches.Add(searchState);
                     if (priorSearches.Count > 200)
                     {
-                        priorSearches.Shuffle();
+                        priorSearches.Shuffle(Random);
                         priorSearches.SubList(100, priorSearches.Count).Clear();
                     }
                 }
diff --git a/src/Lucene.Net.Tests/Search/TestSort.cs b/src/Lucene.Net.Tests/Search/TestSort.cs
index bc7cc65..a47b7bd 100644
--- a/src/Lucene.Net.Tests/Search/TestSort.cs
+++ b/src/Lucene.Net.Tests/Search/TestSort.cs
@@ -1707,7 +1707,7 @@ namespace Lucene.Net.Search
         public virtual void TestCustomIntParser()
         {
             IList<string> letters = new List<string> { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
-            letters.Shuffle();
+            letters.Shuffle(Random);
 
             Directory dir = NewDirectory();
             RandomIndexWriter iw = new RandomIndexWriter(
@@ -1772,7 +1772,7 @@ namespace Lucene.Net.Search
         public virtual void TestCustomByteParser()
         {
             IList<string> letters = new List<string> { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
-            letters.Shuffle();
+            letters.Shuffle(Random);
 
             Directory dir = NewDirectory();
             RandomIndexWriter iw = new RandomIndexWriter(
@@ -1836,7 +1836,7 @@ namespace Lucene.Net.Search
         public virtual void TestCustomShortParser()
         {
             IList<string> letters = new List<string> { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
-            letters.Shuffle();
+            letters.Shuffle(Random);
 
             Directory dir = NewDirectory();
             RandomIndexWriter iw = new RandomIndexWriter(
@@ -1903,7 +1903,7 @@ namespace Lucene.Net.Search
         public virtual void TestCustomLongParser()
         {
             IList<string> letters = new List<string> { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
-            letters.Shuffle();
+            letters.Shuffle(Random);
 
             Directory dir = NewDirectory();
             RandomIndexWriter iw = new RandomIndexWriter(
@@ -1968,7 +1968,7 @@ namespace Lucene.Net.Search
         public virtual void TestCustomFloatParser()
         {
             IList<string> letters = new List<string> { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
-            letters.Shuffle();
+            letters.Shuffle(Random);
 
             Directory dir = NewDirectory();
             RandomIndexWriter iw = new RandomIndexWriter(
@@ -2033,7 +2033,7 @@ namespace Lucene.Net.Search
         public virtual void TestCustomDoubleParser()
         {
             IList<string> letters = new List<string> { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
-            letters.Shuffle();
+            letters.Shuffle(Random);
 
             Directory dir = NewDirectory();
             RandomIndexWriter iw = new RandomIndexWriter(
diff --git a/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs b/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs
index d5efc6f..d61cb59 100644
--- a/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs
+++ b/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs
@@ -1234,7 +1234,7 @@ namespace Lucene.Net.Util.Fst
             w.Dispose();
 
             IList<string> allTermsList = new List<string>(allTerms);
-            allTermsList.Shuffle();
+            allTermsList.Shuffle(Random);
 
             // verify exact lookup
             foreach (string term in allTermsList)