summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/grouping
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-03-23 13:23:13 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2017-03-27 16:21:01 +0200
commit057b88c934cd7785c8f14828acf6a0ea6ceb5062 (patch)
treec50648464ef8600677c1df64369893ee9c737d76 /searchlib/src/tests/grouping
parent3656023785d17d513b67f4cbe8686a40141e06d8 (diff)
Create UP directly.
Diffstat (limited to 'searchlib/src/tests/grouping')
-rw-r--r--searchlib/src/tests/grouping/grouping_serialization_test.cpp53
1 files changed, 27 insertions, 26 deletions
diff --git a/searchlib/src/tests/grouping/grouping_serialization_test.cpp b/searchlib/src/tests/grouping/grouping_serialization_test.cpp
index 0586594ec5c..f3f8d477c44 100644
--- a/searchlib/src/tests/grouping/grouping_serialization_test.cpp
+++ b/searchlib/src/tests/grouping/grouping_serialization_test.cpp
@@ -78,7 +78,7 @@ struct Fixture {
&& EXPECT_TRUE(newObj->cmp(obj) == 0)
&& EXPECT_TRUE(obj.cmp(*newObj) == 0))
{
- LOG(info, "object of class '%s' passed echo test : %s", obj.getClass().name(), newObj->asString().c_str());
+ LOG(debug, "object of class '%s' passed echo test : %s", obj.getClass().name(), newObj->asString().c_str());
} else {
LOG(error, "object of class '%s' FAILED echo test", obj.getClass().name());
}
@@ -263,12 +263,19 @@ TEST_F("testHitCollection", Fixture("testHitCollection")) {
.setExpression(MU<ConstantNode>(MU<Int64ResultNode>(5))));
}
+template<typename T>
+ExpressionNode::UP
+createAggr(ExpressionNode::UP e) {
+ std::unique_ptr<T> aggr = MU<T>();
+ aggr->setExpression(std::move(e));
+ return aggr;
+}
+
TEST_F("testGroupingLevel", Fixture("testGroupingLevel")) {
f.checkObject(GroupingLevel()
.setMaxGroups(100)
.setExpression(createDummyExpression())
- .addResult(SumAggregationResult()
- .setExpression(createDummyExpression())));
+ .addAggregationResult(createAggr<SumAggregationResult>(createDummyExpression())));
}
TEST_F("testGroup", Fixture("testGroup")) {
@@ -279,10 +286,8 @@ TEST_F("testGroup", Fixture("testGroup")) {
.addChild(Group().setId(Int64ResultNode(110)))
.addChild(Group().setId(Int64ResultNode(120))
.setRank(20.5)
- .addResult(SumAggregationResult()
- .setExpression(createDummyExpression()))
- .addResult(SumAggregationResult()
- .setExpression(createDummyExpression())))
+ .addAggregationResult(createAggr<SumAggregationResult>(createDummyExpression()))
+ .addAggregationResult(createAggr<SumAggregationResult>(createDummyExpression())))
.addChild(Group().setId(Int64ResultNode(130))
.addChild(Group().setId(Int64ResultNode(131)))));
}
@@ -293,31 +298,27 @@ TEST_F("testGrouping", Fixture("testGrouping")) {
.addLevel(GroupingLevel()
.setMaxGroups(100)
.setExpression(createDummyExpression())
- .addResult(SumAggregationResult()
- .setExpression(createDummyExpression())))
+ .addAggregationResult(createAggr<SumAggregationResult>(createDummyExpression())))
.addLevel(GroupingLevel()
.setMaxGroups(10)
.setExpression(createDummyExpression())
- .addResult(SumAggregationResult()
- .setExpression(createDummyExpression()))
- .addResult(SumAggregationResult()
- .setExpression(createDummyExpression()))));
+ .addAggregationResult(createAggr<SumAggregationResult>(createDummyExpression()))
+ .addAggregationResult(createAggr<SumAggregationResult>(createDummyExpression()))));
f.checkObject(Grouping()
.addLevel(GroupingLevel()
.setExpression(MU<AttributeNode>("folder"))
- .addResult(XorAggregationResult()
- .setExpression(MU<MD5BitFunctionNode>(MU<AttributeNode>("docid"), 64)))
- .addResult(SumAggregationResult()
- .setExpression(ExpressionNode::UP(MinFunctionNode()
- .addArg(MU<AttributeNode>("attribute1"))
- .addArg(MU<AttributeNode>("attribute2")).clone()))
- )
- .addResult(XorAggregationResult()
- .setExpression(
- ExpressionNode::UP(XorBitFunctionNode(ExpressionNode::UP(CatFunctionNode()
- .addArg(MU<GetDocIdNamespaceSpecificFunctionNode>())
- .addArg(MU<DocumentFieldNode>("folder"))
- .addArg(MU<DocumentFieldNode>("flags")).clone()), 64).clone())))));
+ .addAggregationResult(createAggr<XorAggregationResult>(MU<MD5BitFunctionNode>(MU<AttributeNode>("docid"), 64)))
+ .addAggregationResult(createAggr<SumAggregationResult>(
+ ExpressionNode::UP(MinFunctionNode()
+ .addArg(MU<AttributeNode>("attribute1"))
+ .addArg(MU<AttributeNode>("attribute2")).clone())))
+ .addAggregationResult(createAggr<XorAggregationResult>(
+ ExpressionNode::UP(XorBitFunctionNode(
+ ExpressionNode::UP(CatFunctionNode()
+ .addArg(MU<GetDocIdNamespaceSpecificFunctionNode>())
+ .addArg(MU<DocumentFieldNode>("folder"))
+ .addArg(MU<DocumentFieldNode>("flags")).clone())
+ , 64).clone())))));
}
} // namespace