summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/grouping
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2018-08-24 19:52:07 +0200
committerHenning Baldersheim <balder@oath.com>2018-08-27 09:22:14 +0200
commitf19fa359f112f0009a4a39e9e8358a5458ca4fb2 (patch)
treea48dc619eadb646480ee1cabca0d596e9b795f09 /searchcore/src/tests/grouping
parentbe6729d2eadb3abe61613acb82c59a137ccf12a0 (diff)
Wire in the attribute execution via the IAttributeContext.
Also execution in a task for containment.
Diffstat (limited to 'searchcore/src/tests/grouping')
-rw-r--r--searchcore/src/tests/grouping/CMakeLists.txt1
-rw-r--r--searchcore/src/tests/grouping/grouping.cpp52
2 files changed, 4 insertions, 49 deletions
diff --git a/searchcore/src/tests/grouping/CMakeLists.txt b/searchcore/src/tests/grouping/CMakeLists.txt
index 8108028c717..781f0cab66f 100644
--- a/searchcore/src/tests/grouping/CMakeLists.txt
+++ b/searchcore/src/tests/grouping/CMakeLists.txt
@@ -5,5 +5,6 @@ vespa_add_executable(searchcore_grouping_test_app TEST
DEPENDS
searchcore_grouping
searchcore_matching
+ searchlib_test
)
vespa_add_test(NAME searchcore_grouping_test_app COMMAND searchcore_grouping_test_app)
diff --git a/searchcore/src/tests/grouping/grouping.cpp b/searchcore/src/tests/grouping/grouping.cpp
index 7e21fffe9fd..3f166ee9723 100644
--- a/searchcore/src/tests/grouping/grouping.cpp
+++ b/searchcore/src/tests/grouping/grouping.cpp
@@ -10,6 +10,7 @@
#include <vespa/searchcore/grouping/groupingmanager.h>
#include <vespa/searchcore/grouping/groupingsession.h>
#include <vespa/searchcore/proton/matching/sessionmanager.h>
+#include <vespa/searchlib/test/mock_attribute_context.h>
#include <iostream>
#include <vespa/log/log.h>
@@ -20,7 +21,7 @@ using namespace search::aggregation;
using namespace search::expression;
using namespace search::grouping;
using namespace search;
-
+using search::attribute::test::MockAttributeContext;
using proton::matching::SessionManager;
@@ -30,55 +31,8 @@ const uint32_t NUM_DOCS = 1000;
//-----------------------------------------------------------------------------
-class MyAttributeContext : public IAttributeContext
-{
-private:
- typedef std::map<string, IAttributeVector *> Map;
- Map _vectors;
-
-public:
- const IAttributeVector *get(const string &name) const {
- if (_vectors.find(name) == _vectors.end()) {
- return 0;
- }
- return _vectors.find(name)->second;
- }
- virtual const IAttributeVector *
- getAttribute(const string &name) const override {
- return get(name);
- }
- virtual const IAttributeVector *
- getAttributeStableEnum(const string &name) const override {
- return get(name);
- }
- virtual void
- getAttributeList(std::vector<const IAttributeVector *> & list) const override {
- Map::const_iterator pos = _vectors.begin();
- Map::const_iterator end = _vectors.end();
- for (; pos != end; ++pos) {
- list.push_back(pos->second);
- }
- }
- ~MyAttributeContext() {
- Map::iterator pos = _vectors.begin();
- Map::iterator end = _vectors.end();
- for (; pos != end; ++pos) {
- delete pos->second;
- }
- }
-
- //-------------------------------------------------------------------------
-
- void add(IAttributeVector *attr) {
- _vectors[attr->getName()] = attr;
- }
-};
-
-
-//-----------------------------------------------------------------------------
-
struct MyWorld {
- MyAttributeContext attributeContext;
+ MockAttributeContext attributeContext;
void basicSetup() {
// attribute context