aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@vespa.ai>2024-06-07 00:27:58 +0200
committerJon Bratseth <bratseth@vespa.ai>2024-06-07 00:27:58 +0200
commit1113b586e945336351625d5a93c2a057efa6503b (patch)
tree897d5bb62a616fccccdbe782ac5348b060051bbb /container-search/src/test/java/com
parent69b67b294857a84501ab188ab12441581d281202 (diff)
Implement clone and disclose in InItems
Diffstat (limited to 'container-search/src/test/java/com')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/InItemTestCase.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/InItemTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/InItemTestCase.java
new file mode 100644
index 00000000000..a4e225d29d3
--- /dev/null
+++ b/container-search/src/test/java/com/yahoo/prelude/query/InItemTestCase.java
@@ -0,0 +1,68 @@
+package com.yahoo.prelude.query;
+
+import com.yahoo.search.Query;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * @author bratseth
+ */
+public class InItemTestCase {
+
+ @Test
+ void testNumericInItemTracing() {
+ Query q = new Query();
+ q.getTrace().setLevel(7);
+ q.getModel().getQueryTree().setRoot(new NumericInItem("default", Set.of(3L, 5L)));
+ q.trace("Trace 1", true, 0);
+ List<String> traces = new ArrayList<>();
+ for (String trace : q.getContext(true).getTrace().traceNode().descendants(String.class))
+ traces.add(trace);
+
+ String expected = """
+Trace 1: [
+select * from sources * where default in (3, 5)
+NUMERIC_IN{
+ INT[index="" origin=null]{
+ "3"
+ }
+ INT[index="" origin=null]{
+ "5"
+ }
+}
+
+]""";
+ assertEquals(expected, traces.get(1));
+ }
+
+ @Test
+ void testStringItemTracing() {
+ Query q = new Query();
+ q.getTrace().setLevel(7);
+ q.getModel().getQueryTree().setRoot(new StringInItem("default", Set.of("foo", "bar")));
+ q.trace("Trace 1", true, 0);
+ List<String> traces = new ArrayList<>();
+ for (String trace : q.getContext(true).getTrace().traceNode().descendants(String.class))
+ traces.add(trace);
+ String expected = """
+Trace 1: [
+select * from sources * where default in ("bar", "foo")
+STRING_IN{
+ WORD[fromSegmented=false index="" origin=null segmentIndex=0 stemmed=false words=true]{
+ "bar"
+ }
+ WORD[fromSegmented=false index="" origin=null segmentIndex=0 stemmed=false words=true]{
+ "foo"
+ }
+}
+
+]""";
+ assertEquals(expected, traces.get(1));
+ }
+
+}