Lucene.Net.Index.TestTermsEnum.TestFloorBlocks C# (CSharp) Method

TestFloorBlocks() private method

private TestFloorBlocks ( ) : void
return void
        public virtual void TestFloorBlocks()
        {
            var terms = new[] { "aa0", "aa1", "aa2", "aa3", "aa4", "aa5", "aa6", "aa7", "aa8", "aa9", "aa", "xx" };

            using (var d = NewDirectory())
            using (var r = MakeIndex(d, terms))
            {
                // First term in first block:
                Assert.AreEqual(1, DocFreq(r, "aa0"));
                Assert.AreEqual(1, DocFreq(r, "aa4"));

                // No block
                Assert.AreEqual(0, DocFreq(r, "bb0"));

                // Second block
                Assert.AreEqual(1, DocFreq(r, "aa4"));

                // Backwards to prior floor block:
                Assert.AreEqual(1, DocFreq(r, "aa0"));

                // Forwards to last floor block:
                Assert.AreEqual(1, DocFreq(r, "aa9"));

                Assert.AreEqual(0, DocFreq(r, "a"));
                Assert.AreEqual(1, DocFreq(r, "aa"));
                Assert.AreEqual(0, DocFreq(r, "a"));
                Assert.AreEqual(1, DocFreq(r, "aa"));

                // Forwards to last floor block:
                Assert.AreEqual(1, DocFreq(r, "xx"));
                Assert.AreEqual(1, DocFreq(r, "aa1"));
                Assert.AreEqual(0, DocFreq(r, "yy"));

                Assert.AreEqual(1, DocFreq(r, "xx"));
                Assert.AreEqual(1, DocFreq(r, "aa9"));

                Assert.AreEqual(1, DocFreq(r, "xx"));
                Assert.AreEqual(1, DocFreq(r, "aa4"));

                TermsEnum te = MultiFields.GetTerms(r, FIELD).Iterator(null);
                while (te.Next() != null)
                {
                    //System.out.println("TEST: next term=" + te.Term().Utf8ToString());
                }

                Assert.IsTrue(SeekExact(te, "aa1"));
                Assert.AreEqual("aa2", Next(te));
                Assert.IsTrue(SeekExact(te, "aa8"));
                Assert.AreEqual("aa9", Next(te));
                Assert.AreEqual("xx", Next(te));

                TestRandomSeeks(r, terms);
            }
        }