summaryrefslogtreecommitdiffstats
path: root/container-search/src/test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-02-03 14:36:16 +0100
committerJon Bratseth <bratseth@gmail.com>2021-02-03 14:36:16 +0100
commitd9f82731cb7c47162e7a93b6cb6c1990cbb879fb (patch)
tree574c75377824d86c2e26efcb69a788fa34d89581 /container-search/src/test
parent2319ebb2fbbc87ac54448ec6a433a0f99aab940c (diff)
No functional changes
Diffstat (limited to 'container-search/src/test')
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java4
-rw-r--r--container-search/src/test/java/com/yahoo/select/SelectTestCase.java32
2 files changed, 34 insertions, 2 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
index 244d45f1b29..fb08b39de4d 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java
@@ -124,10 +124,10 @@ public class GroupingRequestTestCase {
assertEquals(Collections.emptyList(), query.getSelect().getGrouping());
GroupingRequest foo = GroupingRequest.newInstance(query);
- assertEquals(Arrays.asList(foo), query.getSelect().getGrouping());
+ assertEquals(List.of(foo), query.getSelect().getGrouping());
GroupingRequest bar = GroupingRequest.newInstance(query);
- assertEquals(Arrays.asList(foo, bar), query.getSelect().getGrouping());
+ assertEquals(List.of(foo, bar), query.getSelect().getGrouping());
}
diff --git a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
index 9bcd3addd92..1ce70feebb4 100644
--- a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
+++ b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
@@ -20,6 +20,12 @@ import com.yahoo.prelude.query.WordItem;
import com.yahoo.processing.IllegalInputException;
import com.yahoo.search.Query;
import com.yahoo.search.grouping.GroupingRequest;
+import com.yahoo.search.grouping.request.AllOperation;
+import com.yahoo.search.grouping.request.AttributeValue;
+import com.yahoo.search.grouping.request.CountAggregator;
+import com.yahoo.search.grouping.request.EachOperation;
+import com.yahoo.search.grouping.request.MaxAggregator;
+import com.yahoo.search.grouping.request.MinAggregator;
import com.yahoo.search.query.QueryTree;
import com.yahoo.search.query.Select;
import com.yahoo.search.query.SelectParser;
@@ -768,6 +774,32 @@ public class SelectTestCase {
assertEquals(clone.getSelect().getGroupingExpressionString(), query.getSelect().getGroupingExpressionString());
}
+ @Test
+ public void testProgrammaticBuilding() {
+ String expected =
+ "all(group(myfield) max(10000) each(" +
+ "output(min(foo), max(bar)) " +
+ "all(group(foo) max(10000) output(count()))" +
+ "))";
+ Query query = new Query();
+ GroupingRequest grouping = GroupingRequest.newInstance(query);
+ AllOperation root = new AllOperation();
+ root.setGroupBy(new AttributeValue("myfield"));
+ root.setMax(10000);
+ EachOperation each = new EachOperation();
+ each.addOutput(new MinAggregator(new AttributeValue("foo")));
+ each.addOutput(new MaxAggregator(new AttributeValue("bar")));
+ AllOperation all = new AllOperation();
+ all.setGroupBy(new AttributeValue("foo"));
+ all.setMax(10000);
+ all.addOutput(new CountAggregator());
+ each.addChild(all);
+ root.addChild(each);
+ grouping.setRootOperation(root);
+
+ assertEquals(expected, query.getSelect().getGrouping().get(0).toString());
+ }
+
//------------------------------------------------------------------- Assert methods
private void assertParse(String where, String expectedQueryTree) {