Lucene.Net.Search.AssertingQuery.Wrap C# (CSharp) Method

Wrap() public static method

Wrap a query if necessary.
public static Wrap ( Random random, Query query ) : Query
random System.Random
query Query
return Query
        public static Query Wrap(Random random, Query query)
        {
            return query is AssertingQuery ? query : new AssertingQuery(random, query);
        }

Usage Example

        public virtual void TestQueryWrapperFilter()
        {
            Directory         d   = NewDirectory();
            RandomIndexWriter w   = new RandomIndexWriter(Random, d, Similarity, TimeZone);
            Document          doc = new Document();

            doc.Add(NewStringField("field", "a", Field.Store.NO));
            w.AddDocument(doc);
            IndexReader r = w.GetReader();

            w.Dispose();

            Filter        filter = new QueryWrapperFilter(AssertingQuery.Wrap(Random, new TermQuery(new Term("field", "a"))));
            IndexSearcher s      = NewSearcher(r);

            Debug.Assert(s is AssertingIndexSearcher);
            // this used to fail
            s.Search(new ConstantScoreQuery(filter), new TotalHitCountCollector());

            // check the rewrite
            Query rewritten = (new ConstantScoreQuery(filter)).Rewrite(r);

            Assert.IsTrue(rewritten is ConstantScoreQuery);
            Assert.IsTrue(((ConstantScoreQuery)rewritten).Query is AssertingQuery);

            r.Dispose();
            d.Dispose();
        }
All Usage Examples Of Lucene.Net.Search.AssertingQuery::Wrap