aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-04-23 13:17:28 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2021-04-23 13:17:28 +0200
commitf898d2c0851ca4a1d5aebcc347a71c801f4c0459 (patch)
treeb48726f265d9c96f0b9a7493eeb384394a43d199 /container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java
parentad25b2bc2a4331da9f27fc5c6142ad01fc11401d (diff)
Ensure that sameElement never accepts a WordAlternativesItem.
Diffstat (limited to 'container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/test/SameElementItemTestCase.java19
1 files changed, 18 insertions, 1 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 1382c106ae3..bb3a775ccf2 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
@@ -5,10 +5,14 @@ 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.Substring;
import com.yahoo.prelude.query.TermItem;
+import com.yahoo.prelude.query.WordAlternativesItem;
import com.yahoo.prelude.query.WordItem;
import org.junit.Test;
+import java.util.Collections;
+import java.util.List;
import java.util.Optional;
import static org.junit.Assert.assertEquals;
@@ -79,7 +83,7 @@ public class SameElementItemTestCase {
}
@Test
- public void requireAllChildrenAreTermItems() {
+ public void requireNoChildrenAreWordAlternatives() {
try {
SameElementItem s = new SameElementItem("structa");
s.addItem(new AndItem());
@@ -91,6 +95,19 @@ public class SameElementItemTestCase {
}
}
+ @Test
+ public void requireAllChildrenAreTermItems() {
+ try {
+ SameElementItem s = new SameElementItem("structa");
+ s.addItem(new WordAlternativesItem("test", true, new Substring("origin"), List.of(new WordAlternativesItem.Alternative("a", 0.3))));
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) { // Success
+ assertEquals("Child item WORD_ALTERNATIVES test:[ a(0.3) ] should NOT be an instance of class com.yahoo.prelude.query.WordAlternativesItem but is class com.yahoo.prelude.query.WordAlternativesItem",
+ e.getMessage());
+ }
+ }
+
private void verifyExtractSingle(TermItem term) {
String subFieldName = term.getIndexName();
SameElementItem s = new SameElementItem("structa");