summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/grouping/grouping_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/tests/grouping/grouping_test.cpp')
-rw-r--r--searchlib/src/tests/grouping/grouping_test.cpp33
1 files changed, 20 insertions, 13 deletions
diff --git a/searchlib/src/tests/grouping/grouping_test.cpp b/searchlib/src/tests/grouping/grouping_test.cpp
index fea18619ef9..0750d30f60d 100644
--- a/searchlib/src/tests/grouping/grouping_test.cpp
+++ b/searchlib/src/tests/grouping/grouping_test.cpp
@@ -313,10 +313,9 @@ Test::testAggregationSimple()
ctx.add(FloatAttrBuilder("float").add(3).add(7).add(15).sp());
ctx.add(StringAttrBuilder("string").add("3").add("7").add("15").sp());
- char strsum[3] = {-101, '5', 0};
- testAggregationSimpleSum(ctx, SumAggregationResult(), Int64ResultNode(25), FloatResultNode(25), StringResultNode(strsum));
- testAggregationSimpleSum(ctx, MinAggregationResult(), Int64ResultNode(3), FloatResultNode(3), StringResultNode("15"));
- testAggregationSimpleSum(ctx, MaxAggregationResult(), Int64ResultNode(15), FloatResultNode(15), StringResultNode("7"));
+ TEST_DO(testAggregationSimpleSum(ctx, SumAggregationResult(), Int64ResultNode(25), FloatResultNode(25), StringResultNode("25")));
+ TEST_DO(testAggregationSimpleSum(ctx, MinAggregationResult(), Int64ResultNode(3), FloatResultNode(3), StringResultNode("15")));
+ TEST_DO(testAggregationSimpleSum(ctx, MaxAggregationResult(), Int64ResultNode(15), FloatResultNode(15), StringResultNode("7")));
}
#define MU std::make_unique
@@ -630,6 +629,14 @@ createAggr(SingleResultNode::UP r, ExpressionNode::UP e) {
return aggr;
}
+template<typename T>
+ExpressionNode::UP
+createNumAggr(NumericResultNode::UP r, ExpressionNode::UP e) {
+ std::unique_ptr<T> aggr = MU<T>(std::move(r));
+ aggr->setExpression(std::move(e));
+ return aggr;
+}
+
void
Test::testAggregationGroupCapping()
{
@@ -680,13 +687,13 @@ Test::testAggregationGroupCapping()
Group expect;
expect.addChild(Group().setId(Int64ResultNode(7)).setRank(RawRank(7))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(7), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(7), MU<AttributeNode>("attr")))
.addOrderBy(MU<AggregationRefNode>(0), false))
.addChild(Group().setId(Int64ResultNode(8)).setRank(RawRank(8))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(8), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(8), MU<AttributeNode>("attr")))
.addOrderBy(MU<AggregationRefNode>(0), false))
.addChild(Group().setId(Int64ResultNode(9)).setRank(RawRank(9))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(9), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(9), MU<AttributeNode>("attr")))
.addOrderBy(MU<AggregationRefNode>(0), false));
EXPECT_TRUE(testAggregation(ctx, request, expect));
@@ -701,13 +708,13 @@ Test::testAggregationGroupCapping()
Group expect = Group()
.addChild(Group().setId(Int64ResultNode(1)).setRank(RawRank(1))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(1), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(1), MU<AttributeNode>("attr")))
.addOrderBy(MU<AggregationRefNode>(0), true))
.addChild(Group().setId(Int64ResultNode(2)).setRank(RawRank(2))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(2), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(2), MU<AttributeNode>("attr")))
.addOrderBy(MU<AggregationRefNode>(0), true))
.addChild(Group().setId(Int64ResultNode(3)).setRank(RawRank(3))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(3), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(3), MU<AttributeNode>("attr")))
.addOrderBy(MU<AggregationRefNode>(0), true));
EXPECT_TRUE(testAggregation(ctx, request, expect));
@@ -726,13 +733,13 @@ Test::testAggregationGroupCapping()
Group expect;
expect.addChild(Group().setId(Int64ResultNode(7)).setRank(RawRank(7))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(7), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(7), MU<AttributeNode>("attr")))
.addOrderBy(AddFunctionNode().appendArg(MU<AggregationRefNode>(0)).appendArg(MU<ConstantNode>(MU<Int64ResultNode>(3))).setResult(Int64ResultNode(10)), false))
.addChild(Group().setId(Int64ResultNode(8)).setRank(RawRank(8))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(8), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(8), MU<AttributeNode>("attr")))
.addOrderBy(AddFunctionNode().appendArg(MU<AggregationRefNode>(0)).appendArg(MU<ConstantNode>(MU<Int64ResultNode>(3))).setResult(Int64ResultNode(11)), false))
.addChild(Group().setId(Int64ResultNode(9)).setRank(RawRank(9))
- .addAggregationResult(createAggr<SumAggregationResult>(MU<Int64ResultNode>(9), MU<AttributeNode>("attr")))
+ .addAggregationResult(createNumAggr<SumAggregationResult>(MU<Int64ResultNode>(9), MU<AttributeNode>("attr")))
.addOrderBy(AddFunctionNode().appendArg(MU<AggregationRefNode>(0)).appendArg(MU<ConstantNode>(MU<Int64ResultNode>(3))).setResult(Int64ResultNode(12)), false));
EXPECT_TRUE(testAggregation(ctx, request, expect));