diff options
author | Henning Baldersheim <balder@oath.com> | 2019-04-04 09:45:18 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@oath.com> | 2019-04-04 09:46:19 +0000 |
commit | f16846437325a6f5b9cd350d3a87ebad2c7c7703 (patch) | |
tree | 6b0479a9377bf8df1fd666f321c0e0ad805f5009 /searchlib/src/tests/aggregator | |
parent | a6582e6b4e73528a4248f99e494a54b093ab503f (diff) |
Add conformance testing for 'sum' aggregator too.
Diffstat (limited to 'searchlib/src/tests/aggregator')
-rw-r--r-- | searchlib/src/tests/aggregator/perdocexpr.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/searchlib/src/tests/aggregator/perdocexpr.cpp b/searchlib/src/tests/aggregator/perdocexpr.cpp index c3667c36f8e..1b85fb8f427 100644 --- a/searchlib/src/tests/aggregator/perdocexpr.cpp +++ b/searchlib/src/tests/aggregator/perdocexpr.cpp @@ -1357,6 +1357,43 @@ TEST("test Average over non-numeric string") { EXPECT_EQUAL(0, avg.getAverage().getInteger()); } +TEST("test Sum over integer") { + AggregationResult::Configure conf; + SumAggregationResult sum; + sum.setExpression(createScalarInt(I4)).select(conf, conf); + sum.aggregate(0, 0); + sum.aggregate(0, 0); + EXPECT_EQUAL(I4*2, sum.getSum().getInteger()); +} + +TEST("test Sum over float") { + AggregationResult::Configure conf; + SumAggregationResult sum; + sum.setExpression(createScalarFloat(I4)).select(conf, conf); + sum.aggregate(0, 0); + sum.aggregate(0, 0); + EXPECT_EQUAL(I4*2, sum.getSum().getInteger()); +} + +TEST("test Sum over numeric string") { + AggregationResult::Configure conf; + SumAggregationResult sum; + sum.setExpression(createScalarString("7.8")).select(conf, conf); + sum.aggregate(0, 0); + sum.aggregate(0, 0); + EXPECT_EQUAL(7.8*2, sum.getSum().getFloat()); +} + +TEST("test Sum over non-numeric string") { + AggregationResult::Configure conf; + SumAggregationResult sum; + sum.setExpression(createScalarString("ABC")).select(conf, conf); + sum.aggregate(0, 0); + sum.aggregate(0, 0); + EXPECT_EQUAL(0, sum.getSum().getInteger()); +} + + TEST("testGrouping") { AttributeGuard attr1 = createInt64Attribute(); ExpressionNode::UP result1(new CountAggregationResult()); |