Пример #1
0
 public IntArrayDocIdSetIterator(IntArrayDocIdSet parent)
 {
     this.parent = parent;
     if (parent.pos == -1)
     {
         lastReturn = DocIdSetIterator.NO_MORE_DOCS;
     }
 }
Пример #2
0
        public void TestFilteredDocSetIterator()
        {
            var set1 = new IntArrayDocIdSet();
            for (int i = 0; i < 100; i++)
            {
                set1.AddDoc(2 * i); // 100 even numbers
            }

            var filteredIter = new MyFilteredDocSetIterator(set1.Iterator());

            var bs = new BitSet(200);
            for (int i = 0; i < 100; ++i)
            {
                int n = 10 * i;
                if (n < 200)
                {
                    bs.Set(n, true);
                }
            }

            try
            {
                while (filteredIter.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
                {
                    int doc = filteredIter.DocID();
                    if (!bs.Get(doc))
                    {
                        Assert.Fail("failed: " + doc + " not in expected set");
                        return;
                    }
                    else
                    {
                        bs.Set(doc, false);
                    }
                }
                var cardinality = bs.Cardinality();
                if (cardinality > 0)
                {
                    Assert.Fail("failed: leftover cardinality: " + cardinality);
                }
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
        }
 public IntArrayDocIdSetIterator(IntArrayDocIdSet parent)
 {
     this.parent = parent;
     if (parent.pos == -1) lastReturn = DocIdSetIterator.NO_MORE_DOCS;
 }