private void CheckBoosts(MultiTermQuery.RewriteMethod method)
        {
            MultiTermQuery mtq = new MultiTermQueryAnonymousInnerClassHelper(this);

            mtq.MultiTermRewriteMethod = (method);
            Query q1 = Searcher.Rewrite(mtq);
            Query q2 = MultiSearcher.Rewrite(mtq);
            Query q3 = MultiSearcherDupls.Rewrite(mtq);

            if (VERBOSE)
            {
                Console.WriteLine();
                Console.WriteLine("single segment: " + q1);
                Console.WriteLine("multi segment: " + q2);
                Console.WriteLine("multi segment with duplicates: " + q3);
            }
            Assert.IsTrue(q1.Equals(q2), "The multi-segment case must produce same rewritten query");
            Assert.IsTrue(q1.Equals(q3), "The multi-segment case with duplicates must produce same rewritten query");
            CheckBooleanQueryBoosts((BooleanQuery)q1);
            CheckBooleanQueryBoosts((BooleanQuery)q2);
            CheckBooleanQueryBoosts((BooleanQuery)q3);
        }
 public TermRangeTermsEnumAnonymousInnerClassHelper(MultiTermQueryAnonymousInnerClassHelper outerInstance, TermsEnum iterator, BytesRef bref1, BytesRef bref2)
     : base(iterator, bref1, bref2, true, true)
 {
     this.OuterInstance = outerInstance;
     boostAtt           = Attributes.AddAttribute <IBoostAttribute>();
 }
 public TermRangeTermsEnumAnonymousInnerClassHelper(MultiTermQueryAnonymousInnerClassHelper outerInstance, TermsEnum iterator, BytesRef bref1, BytesRef bref2)
     : base(iterator, bref1, bref2, true, true)
 {
     this.OuterInstance = outerInstance;
     boostAtt = Attributes().AddAttribute<IBoostAttribute>();
 }
 private void CheckBoosts(MultiTermQuery.RewriteMethod method)
 {
     MultiTermQuery mtq = new MultiTermQueryAnonymousInnerClassHelper(this);
     mtq.SetRewriteMethod(method);
     Query q1 = Searcher.Rewrite(mtq);
     Query q2 = MultiSearcher.Rewrite(mtq);
     Query q3 = MultiSearcherDupls.Rewrite(mtq);
     if (VERBOSE)
     {
         Console.WriteLine();
         Console.WriteLine("single segment: " + q1);
         Console.WriteLine("multi segment: " + q2);
         Console.WriteLine("multi segment with duplicates: " + q3);
     }
     Assert.IsTrue(q1.Equals(q2), "The multi-segment case must produce same rewritten query");
     Assert.IsTrue(q1.Equals(q3), "The multi-segment case with duplicates must produce same rewritten query");
     CheckBooleanQueryBoosts((BooleanQuery)q1);
     CheckBooleanQueryBoosts((BooleanQuery)q2);
     CheckBooleanQueryBoosts((BooleanQuery)q3);
 }