public void testAdvanceAllTerms() throws Exception {
  List<String> termsList=new ArrayList<>();
  termsList.addAll(Arrays.asList(commonTerms));
  termsList.addAll(Arrays.asList(mediumTerms));
  termsList.addAll(Arrays.asList(rareTerms));
  String terms[]=termsList.toArray(new String[0]);
  for (int amount=25; amount < 200; amount+=25) {
    for (int minNrShouldMatch=1; minNrShouldMatch <= terms.length; minNrShouldMatch++) {
      Scorer expected=scorer(terms,minNrShouldMatch,Mode.DOC_VALUES);
      Scorer actual=scorer(terms,minNrShouldMatch,Mode.SCORER);
      assertAdvance(expected,actual,amount);
      expected=scorer(terms,minNrShouldMatch,Mode.DOC_VALUES);
      actual=scorer(terms,minNrShouldMatch,Mode.BULK_SCORER);
      assertAdvance(expected,actual,amount);
    }
  }
}

public void testAdvanceAllTerms ( ) throws Exception { List < String > termsList = new ArrayList < > ( ) ; termsList . addAll ( Arrays . asList ( commonTerms ) ) ; termsList . addAll ( Arrays . asList ( mediumTerms ) ) ; termsList . addAll ( Arrays . asList ( rareTerms ) ) ; String terms [ ] = termsList . toArray ( new String [ 0 ] ) ; for ( int amount = 25 ; amount < 200 ; amount += 25 ) { for ( int minNrShouldMatch = 1 ; minNrShouldMatch <= terms . length ; minNrShouldMatch ++ ) { Scorer expected = scorer ( terms , minNrShouldMatch , Mode . DOC_VALUES ) ; Scorer actual = scorer ( terms , minNrShouldMatch , Mode . SCORER ) ; assertAdvance ( expected , actual , amount ) ; expected = scorer ( terms , minNrShouldMatch , Mode . DOC_VALUES ) ; actual = scorer ( terms , minNrShouldMatch , Mode . BULK_SCORER ) ; assertAdvance ( expected , actual , amount ) ; } } }
test advance with giant bq of all terms with varying minshouldmatch
