diff options
Diffstat (limited to 'container-search/src/test/java/com/yahoo')
2 files changed, 31 insertions, 11 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java index c42aa905dd4..0dfd4685c0f 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java @@ -16,6 +16,7 @@ import java.util.Arrays; import java.util.List; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -579,6 +580,11 @@ public class GroupingParserTestCase { assertIllegalArgument("all(group(debugwait(artist, 3.3, lol)))", "Encountered \" <IDENTIFIER> \"lol\"\" at line 1, column 34"); assertParse("all(group(artist) each(output(stddev(simple))))"); + + // Test max() + assertTrue(assertParse("all(group(artist) max(inf))").get(0).hasUnlimitedMax()); + assertEquals(1, assertParse("all(group(artist) max(1))").get(0).getMax()); + assertFalse(assertParse("all(group(artist))").get(0).hasMax()); } @Test diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java index 29d9f7802c1..c1b9e74757b 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java @@ -715,17 +715,31 @@ public class RequestBuilderTestCase { } @Test - public void require_that_default_max_values_from_request_builder_restricts_respects_explicit_max() { - RequestBuilder builder = new RequestBuilder(0) - .setDefaultMaxGroups(7) - .setDefaultMaxHits(19) - .setRootOperation(GroupingOperation.fromString("all(group(foo)max(11)each(max(21)each(output(summary()))))")); - builder.build(); - List<Grouping> requests = builder.getRequestList(); - assertEquals(12, requests.get(0).getLevels().get(0).getMaxGroups()); - HitsAggregationResult hitsAggregation = - (HitsAggregationResult)requests.get(0).getLevels().get(0).getGroupPrototype().getAggregationResults().get(0); - assertEquals(22, hitsAggregation.getMaxHits()); + public void require_that_default_max_values_from_request_builder_respects_explicit_max() { + { + RequestBuilder builder = new RequestBuilder(0) + .setDefaultMaxGroups(7) + .setDefaultMaxHits(19) + .setRootOperation(GroupingOperation.fromString("all(group(foo)max(11)each(max(21)each(output(summary()))))")); + builder.build(); + List<Grouping> requests = builder.getRequestList(); + assertEquals(12, requests.get(0).getLevels().get(0).getMaxGroups()); + HitsAggregationResult hitsAggregation = + (HitsAggregationResult)requests.get(0).getLevels().get(0).getGroupPrototype().getAggregationResults().get(0); + assertEquals(22, hitsAggregation.getMaxHits()); + } + { + RequestBuilder builder = new RequestBuilder(0) + .setDefaultMaxGroups(7) + .setDefaultMaxHits(19) + .setRootOperation(GroupingOperation.fromString("all(group(foo)max(inf)each(max(inf)each(output(summary()))))")); + builder.build(); + List<Grouping> requests = builder.getRequestList(); + assertEquals(-1, requests.get(0).getLevels().get(0).getMaxGroups()); + HitsAggregationResult hitsAggregation = + (HitsAggregationResult)requests.get(0).getLevels().get(0).getGroupPrototype().getAggregationResults().get(0); + assertEquals(-1, hitsAggregation.getMaxHits()); + } } private static CompositeContinuation newComposite(EncodableContinuation... conts) { |