You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2016/10/03 07:10:09 UTC
[2/2] lucene-solr:branch_6x: LUCENE-7469: Avoid TestBooleanRewrites
test failures due to floating-point inaccuracy issues.
LUCENE-7469: Avoid TestBooleanRewrites test failures due to floating-point inaccuracy issues.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/c6f5abaa
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/c6f5abaa
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/c6f5abaa
Branch: refs/heads/branch_6x
Commit: c6f5abaaeb8679a7d8f991681b20a7fbbe2ea4d6
Parents: cbb39c3
Author: Adrien Grand <jp...@gmail.com>
Authored: Mon Oct 3 09:07:23 2016 +0200
Committer: Adrien Grand <jp...@gmail.com>
Committed: Mon Oct 3 09:08:55 2016 +0200
----------------------------------------------------------------------
.../lucene/search/TestBooleanRewrites.java | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/c6f5abaa/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
index fd54640..da5bd16 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanRewrites.java
@@ -18,6 +18,10 @@ package org.apache.lucene.search;
import java.io.IOException;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -338,11 +342,16 @@ public class TestBooleanRewrites extends LuceneTestCase {
private void assertEquals(TopDocs td1, TopDocs td2) {
assertEquals(td1.totalHits, td2.totalHits);
assertEquals(td1.scoreDocs.length, td2.scoreDocs.length);
- for (int i = 0; i < td1.scoreDocs.length; ++i) {
- ScoreDoc sd1 = td1.scoreDocs[i];
- ScoreDoc sd2 = td2.scoreDocs[i];
- assertEquals(sd1.doc, sd2.doc);
- assertEquals(sd1.score, sd2.score, 0.01f);
+ Map<Integer, Float> expectedScores = Arrays.stream(td1.scoreDocs).collect(Collectors.toMap(sd -> sd.doc, sd -> sd.score));
+ Set<Integer> actualResultSet = Arrays.stream(td2.scoreDocs).map(sd -> sd.doc).collect(Collectors.toSet());
+
+ assertEquals("Set of matching documents differs",
+ expectedScores.keySet(), actualResultSet);
+
+ for (ScoreDoc scoreDoc : td2.scoreDocs) {
+ final float expectedScore = expectedScores.get(scoreDoc.doc);
+ final float actualScore = scoreDoc.score;
+ assertEquals(expectedScore, actualScore, 10e-5);
}
}
}