You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2018/01/05 16:19:51 UTC

[2/2] lucene-solr:branch_7x: LUCENE-8099: Add equality tests for FunctionScoreQuery

LUCENE-8099: Add equality tests for FunctionScoreQuery


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e3c19475
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e3c19475
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e3c19475

Branch: refs/heads/branch_7x
Commit: e3c1947506b65bec93834e0607dc05a86537685e
Parents: 0b41754
Author: Alan Woodward <ro...@apache.org>
Authored: Fri Jan 5 16:18:37 2018 +0000
Committer: Alan Woodward <ro...@apache.org>
Committed: Fri Jan 5 16:19:02 2018 +0000

----------------------------------------------------------------------
 .../function/TestFunctionScoreQuery.java        | 39 ++++++++++++++++++++
 1 file changed, 39 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e3c19475/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
index 5803189..47df46b 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
@@ -52,6 +52,45 @@ public class TestFunctionScoreQuery extends FunctionTestSetup {
     reader.close();
   }
 
+  public void testEqualities() {
+
+    Query q1 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "a")), DoubleValuesSource.constant(1));
+    Query q2 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(1));
+    Query q3 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(2));
+    Query q4 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(2));
+
+    QueryUtils.check(q1);
+    QueryUtils.checkUnequal(q1, q3);
+    QueryUtils.checkUnequal(q1, q2);
+    QueryUtils.checkUnequal(q2, q3);
+    QueryUtils.checkEqual(q3, q4);
+
+    Query bq1 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "a")), DoubleValuesSource.constant(2));
+    QueryUtils.check(bq1);
+    Query bq2 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "a")), DoubleValuesSource.constant(4));
+    QueryUtils.checkUnequal(bq1, bq2);
+    Query bq3 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(4));
+    QueryUtils.checkUnequal(bq1, bq3);
+    QueryUtils.checkUnequal(bq2, bq3);
+    Query bq4 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(4));
+    QueryUtils.checkEqual(bq3, bq4);
+
+    Query qq1 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.1f);
+    QueryUtils.check(qq1);
+    Query qq2 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.2f);
+    QueryUtils.checkUnequal(qq1, qq2);
+    Query qq3 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "b")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.1f);
+    QueryUtils.checkUnequal(qq1, qq3);
+    QueryUtils.checkUnequal(qq2, qq3);
+    Query qq4 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "zz")), 0.1f);
+    QueryUtils.checkUnequal(qq1, qq4);
+    QueryUtils.checkUnequal(qq2, qq4);
+    QueryUtils.checkUnequal(qq3, qq4);
+    Query qq5 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.1f);
+    QueryUtils.checkEqual(qq1, qq5);
+
+  }
+
   // FunctionQuery equivalent
   public void testSimpleSourceScore() throws Exception {