summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2023-04-20 23:25:27 +0100
committerRobert Newson <rnewson@apache.org>2023-04-22 11:20:02 +0100
commit47f7216b552816fecee2da8785d2055040611592 (patch)
tree15be0bc8ea469d9fc21549859bf47e0cdd6ad82e
parenteaaf9db55e9deedd20b7f38ba3f005d47634ce79 (diff)
downloadcouchdb-47f7216b552816fecee2da8785d2055040611592.tar.gz
more query tests
-rw-r--r--nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParserTest.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParserTest.java b/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParserTest.java
index 5f99ed455..4c1e23d2a 100644
--- a/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParserTest.java
+++ b/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParserTest.java
@@ -20,7 +20,9 @@ import org.apache.lucene.document.DoublePoint;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.PrefixQuery;
import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.TermRangeQuery;
import org.apache.lucene.search.WildcardQuery;
+import org.apache.lucene.util.BytesRef;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -51,6 +53,18 @@ public class NouveauQueryParserTest {
}
@Test
+ public void testStringRangeQuery() throws Exception {
+ assertThat(qp.parse("foo:[bar TO foo]", DEFAULT_FIELD)).isEqualTo(new TermRangeQuery("foo",
+ new BytesRef("bar"), new BytesRef("foo"), true, true));
+ }
+
+ @Test
+ public void testMixedRangeQuery() throws Exception {
+ assertThat(qp.parse("foo:[12.0 TO foo]", DEFAULT_FIELD)).isEqualTo(new TermRangeQuery("foo",
+ new BytesRef("12.0"), new BytesRef("foo"), true, true));
+ }
+
+ @Test
public void testInferredPointQuery() throws Exception {
assertThat(qp.parse("foo:12", DEFAULT_FIELD)).isEqualTo(DoublePoint.newExactQuery("foo", 12.0));
}
@@ -61,4 +75,32 @@ public class NouveauQueryParserTest {
.isEqualTo(DoublePoint.newRangeQuery("foo", new double[] { 1 }, new double[] { 12 }));
}
+ @Test
+ public void testOpenLeftPointRangeQuery() throws Exception {
+ assertThat(qp.parse("foo:[* TO 100.0]", DEFAULT_FIELD))
+ .isEqualTo(DoublePoint.newRangeQuery("foo", new double[] { Double.NEGATIVE_INFINITY },
+ new double[] { 100 }));
+ }
+
+ @Test
+ public void testOpenRightPointRangeQuery() throws Exception {
+ assertThat(qp.parse("foo:[1.0 TO *]", DEFAULT_FIELD))
+ .isEqualTo(DoublePoint.newRangeQuery("foo", new double[] { 1 },
+ new double[] { Double.POSITIVE_INFINITY }));
+ }
+
+ @Test
+ public void testOpenLeftPointRangeQueryLegacy() throws Exception {
+ assertThat(qp.parse("foo:[-Infinity TO 100.0]", DEFAULT_FIELD))
+ .isEqualTo(DoublePoint.newRangeQuery("foo", new double[] { Double.NEGATIVE_INFINITY },
+ new double[] { 100 }));
+ }
+
+ @Test
+ public void testOpenRightPointRangeQueryLegacy() throws Exception {
+ assertThat(qp.parse("foo:[1.0 TO Infinity]", DEFAULT_FIELD))
+ .isEqualTo(DoublePoint.newRangeQuery("foo", new double[] { 1 },
+ new double[] { Double.POSITIVE_INFINITY }));
+ }
+
}