aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/queryeval/weighted_set_term
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-02-02 23:28:33 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2017-02-03 14:51:09 +0100
commitcf2b1e1cc4e7729ed805388ef95794417eb74bfe (patch)
treef36f615dd2e8803799f87c4b1815956c058b0b45 /searchlib/src/tests/queryeval/weighted_set_term
parent3d9705732586af5cf9364b254566517d1aea5d77 (diff)
Use the iterator verifier and factor out common code for dotproduct and weighted set.
Diffstat (limited to 'searchlib/src/tests/queryeval/weighted_set_term')
-rw-r--r--searchlib/src/tests/queryeval/weighted_set_term/weighted_set_term_test.cpp64
1 files changed, 20 insertions, 44 deletions
diff --git a/searchlib/src/tests/queryeval/weighted_set_term/weighted_set_term_test.cpp b/searchlib/src/tests/queryeval/weighted_set_term/weighted_set_term_test.cpp
index 7436913b642..1e432f89747 100644
--- a/searchlib/src/tests/queryeval/weighted_set_term/weighted_set_term_test.cpp
+++ b/searchlib/src/tests/queryeval/weighted_set_term/weighted_set_term_test.cpp
@@ -1,30 +1,22 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/log/log.h>
-LOG_SETUP("weighted_set_term_test");
+
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/searchlib/queryeval/weighted_set_term_search.h>
#include <vespa/searchlib/fef/fef.h>
#include <vespa/searchlib/query/tree/simplequery.h>
#include <vespa/searchlib/queryeval/field_spec.h>
-#include <vespa/searchlib/queryeval/searchiterator.h>
#include <vespa/searchlib/queryeval/blueprint.h>
#include <vespa/searchlib/queryeval/fake_result.h>
#include <vespa/searchlib/queryeval/fake_searchable.h>
#include <vespa/searchlib/queryeval/fake_requestcontext.h>
-#include <vespa/searchlib/queryeval/weighted_set_term_search.h>
-#include <vespa/searchlib/test/initrange.h>
-#include <vespa/searchlib/test/document_weight_attribute_helper.h>
-#include <memory>
-#include <string>
-#include <map>
+#include <vespa/searchlib/test/searchiteratorverifiers.h>
using namespace search;
using namespace search::query;
using namespace search::fef;
using namespace search::queryeval;
-using search::test::InitRangeVerifier;
+using search::test::SearchIteratorVerifier;
using search::test::DocumentWeightAttributeHelper;
namespace {
@@ -197,44 +189,28 @@ TEST_F("test Eager Matching Child", MockFixture(5)) {
EXPECT_EQUAL(1, mock->seekCnt);
}
-TEST("verify initRange with search iterator children") {
- const size_t num_children = 7;
- InitRangeVerifier ir;
- using DocIds = InitRangeVerifier::DocIds;
- std::vector<DocIds> split_lists(num_children);
- auto full_list = ir.getExpectedDocIds();
- for (size_t i = 0; i < full_list.size(); ++i) {
- split_lists[i % num_children].push_back(full_list[i]);
+class IteratorChildrenVerifier : public search::test::IteratorChildrenVerifier {
+private:
+ SearchIterator::UP create(const std::vector<SearchIterator*> &children) const override {
+ return SearchIterator::UP(WeightedSetTermSearch::create(children, _tfmd, _weights));
}
- bool strict = true;
- std::vector<SearchIterator*> children;
- for (size_t i = 0; i < num_children; ++i) {
- children.push_back(ir.createIterator(split_lists[i], strict).release());
+};
+
+class WeightIteratorChildrenVerifier : public search::test::WeightIteratorChildrenVerifier {
+private:
+ SearchIterator::UP create(std::vector<DocumentWeightIterator> && children) const override {
+ return SearchIterator::UP(WeightedSetTermSearch::create(_tfmd, _weights, std::move(children)));
}
- TermFieldMatchData tfmd;
- std::vector<int32_t> weights(num_children, 1);
- SearchIterator::UP itr(WeightedSetTermSearch::create(children, tfmd, weights));
- ir.verify(*itr);
+};
+
+TEST("verify initRange with search iterator children") {
+ IteratorChildrenVerifier verifier;
+ verifier.verify();
}
TEST("verify initRange with document weight iterator children") {
- const size_t num_children = 7;
- InitRangeVerifier ir;
- DocumentWeightAttributeHelper helper;
- helper.add_docs(ir.getDocIdLimit());
- auto full_list = ir.getExpectedDocIds();
- for (size_t i = 0; i < full_list.size(); ++i) {
- helper.set_doc(full_list[i], i % num_children, 1);
- }
- TermFieldMatchData tfmd;
- std::vector<int32_t> weights(num_children, 1);
- std::vector<DocumentWeightIterator> children;
- for (size_t i = 0; i < num_children; ++i) {
- auto dict_entry = helper.dwa().lookup(vespalib::make_string("%zu", i).c_str());
- helper.dwa().create(dict_entry.posting_idx, children);
- }
- SearchIterator::UP itr(WeightedSetTermSearch::create(tfmd, weights, std::move(children)));
- ir.verify(*itr);
+ WeightIteratorChildrenVerifier verifier;
+ verifier.verify();
}
TEST_MAIN() { TEST_RUN_ALL(); }