diff options
author | Robert Newson <rnewson@apache.org> | 2023-04-20 23:25:27 +0100 |
---|---|---|
committer | Robert Newson <rnewson@apache.org> | 2023-04-22 11:20:02 +0100 |
commit | 47f7216b552816fecee2da8785d2055040611592 (patch) | |
tree | 15be0bc8ea469d9fc21549859bf47e0cdd6ad82e | |
parent | eaaf9db55e9deedd20b7f38ba3f005d47634ce79 (diff) | |
download | couchdb-47f7216b552816fecee2da8785d2055040611592.tar.gz |
more query tests
-rw-r--r-- | nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParserTest.java | 42 |
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 })); + } + } |