summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-08-13 11:13:07 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-08-13 11:13:07 +0200
commitb409418b183cde062f2ab67d8d96f3079aa334eb (patch)
tree81237689d9ab192a6704ea68963fe3502f32f917 /container-search
parent2795a634432eb67b01af0ae94a2988b81da6f0ff (diff)
Add test from baldersheim
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java29
1 files changed, 29 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
index ae9960f6c7c..1382c106ae3 100644
--- 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
@@ -2,11 +2,17 @@
package com.yahoo.prelude.query.test;
import com.yahoo.prelude.query.AndItem;
+import com.yahoo.prelude.query.IntItem;
+import com.yahoo.prelude.query.Item;
import com.yahoo.prelude.query.SameElementItem;
+import com.yahoo.prelude.query.TermItem;
import com.yahoo.prelude.query.WordItem;
import org.junit.Test;
+import java.util.Optional;
+
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
public class SameElementItemTestCase {
@@ -85,4 +91,27 @@ public class SameElementItemTestCase {
}
}
+ private void verifyExtractSingle(TermItem term) {
+ String subFieldName = term.getIndexName();
+ SameElementItem s = new SameElementItem("structa");
+ s.addItem(term);
+ Optional<Item> single =s.extractSingleChild();
+ assertTrue(single.isPresent());
+ assertEquals(((TermItem)single.get()).getIndexName(), s.getFieldName() + "." + subFieldName);
+ }
+
+ @Test
+ public void requireExtractSingleItemToExtractSingles() {
+ verifyExtractSingle(new WordItem("b", "f1"));
+ verifyExtractSingle(new IntItem("7", "f1"));
+ }
+
+ @Test
+ public void requireExtractSingleItemToExtractSinglesOnly() {
+ SameElementItem s = new SameElementItem("structa");
+ s.addItem(new WordItem("b", "f1"));
+ s.addItem(new WordItem("c", "f2"));
+ assertTrue(s.extractSingleChild().isEmpty());
+ }
+
}