summaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/prelude
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-05-23 23:06:18 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2018-05-23 23:07:01 +0200
commit8365add7b94a88eec13e38c473f1b688e1f2d28a (patch)
tree28703379f04ad162c414490d73b0b7cad99ca022 /container-search/src/test/java/com/yahoo/prelude
parent75e72150aa9cbcf4cfd8a0028fab5615c9bd23d4 (diff)
Add SameElementItem for struct search support.
Diffstat (limited to 'container-search/src/test/java/com/yahoo/prelude')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java
new file mode 100644
index 00000000000..83c525565ba
--- /dev/null
+++ b/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java
@@ -0,0 +1,35 @@
+package com.yahoo.prelude.query.test;
+
+import com.yahoo.prelude.query.AndItem;
+import com.yahoo.prelude.query.SameElementItem;
+import com.yahoo.prelude.query.WordItem;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class SameElementItemTestCase {
+ @Test
+ public void testAddItem() {
+ SameElementItem s = new SameElementItem("structa");
+ s.addItem(new WordItem("b", "f1"));
+ s.addItem(new WordItem("c", "f2"));
+ s.addItem(new WordItem("d", "f3"));
+ assertEquals("SAME_ELEMENT f1:b f2:c f3:d", s.toString());
+ }
+ @Test(expected = IllegalArgumentException.class)
+ public void requireAllChildrenHaveStructMemberNameSet() {
+ SameElementItem s = new SameElementItem("structa");
+ s.addItem(new WordItem("b", "f1"));
+ s.addItem(new WordItem("c"));
+ }
+ @Test(expected = IllegalArgumentException.class)
+ public void requireAllChildrenHaveNonEmptyTerm() {
+ SameElementItem s = new SameElementItem("structa");
+ s.addItem(new WordItem("", "f2"));
+ }
+ @Test(expected = IllegalArgumentException.class)
+ public void requireAllChildrenAreTermItems() {
+ SameElementItem s = new SameElementItem("structa");
+ s.addItem(new AndItem());
+ }
+}