From b409418b183cde062f2ab67d8d96f3079aa334eb Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Tue, 13 Aug 2019 11:13:07 +0200 Subject: Add test from baldersheim --- .../query/test/SameElementItemTestCase.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'container-search/src/test/java/com/yahoo/prelude') 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 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()); + } + } -- cgit v1.2.3