mirror of https://github.com/apache/lucene.git
fix test bug to not abuse hit scores for checking which hits were found
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1725386 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
fb0aa2dc49
commit
e127db28f9
|
@ -23,9 +23,11 @@ import java.util.Arrays;
|
|||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.lucene.analysis.MockAnalyzer;
|
||||
import org.apache.lucene.document.BinaryDocValuesField;
|
||||
|
@ -290,20 +292,27 @@ public class AllGroupHeadsCollectorTest extends LuceneTestCase {
|
|||
}
|
||||
|
||||
final IndexSearcher s = newSearcher(r);
|
||||
|
||||
|
||||
Set<Integer> seenIDs = new HashSet<>();
|
||||
for (int contentID = 0; contentID < 3; contentID++) {
|
||||
final ScoreDoc[] hits = s.search(new TermQuery(new Term("content", "real" + contentID)), numDocs).scoreDocs;
|
||||
for (ScoreDoc hit : hits) {
|
||||
final GroupDoc gd = groupDocs[(int) docIdToFieldId.get(hit.doc)];
|
||||
int idValue = (int) docIdToFieldId.get(hit.doc);
|
||||
final GroupDoc gd = groupDocs[idValue];
|
||||
assertEquals(gd.id, idValue);
|
||||
seenIDs.add(idValue);
|
||||
assertTrue(gd.score == 0.0);
|
||||
gd.score = hit.score;
|
||||
int docId = gd.id;
|
||||
assertEquals(docId, docIdToFieldId.get(hit.doc));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// make sure all groups were seen across the hits
|
||||
assertEquals(groupDocs.length, seenIDs.size());
|
||||
|
||||
// make sure scores are sane
|
||||
for (GroupDoc gd : groupDocs) {
|
||||
assertTrue(gd.score != 0.0);
|
||||
assertTrue(Float.isFinite(gd.score));
|
||||
assertTrue(gd.score >= 0.0);
|
||||
}
|
||||
|
||||
for (int searchIter = 0; searchIter < 100; searchIter++) {
|
||||
|
|
Loading…
Reference in New Issue