diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-30 16:22:09 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-31 00:26:12 +0100 |
commit | c55b4b0788358c3221a7f74439bc41a61515afc7 (patch) | |
tree | 7ee2b767aa42707521edf9c53784f47798b79507 /searchlib/src/tests/attribute/bitvector/bitvector_test.cpp | |
parent | f2a01bb1fc8c80a2aad9498a66b6b46435c8d2ab (diff) |
Theoretically complete termwise conformance test.
Diffstat (limited to 'searchlib/src/tests/attribute/bitvector/bitvector_test.cpp')
-rw-r--r-- | searchlib/src/tests/attribute/bitvector/bitvector_test.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp b/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp index 5a801826208..c528122aded 100644 --- a/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp +++ b/searchlib/src/tests/attribute/bitvector/bitvector_test.cpp @@ -13,6 +13,7 @@ #include <vespa/searchlib/attribute/i_document_weight_attribute.h> #include <vespa/searchlib/queryeval/document_weight_search_iterator.h> #include <vespa/searchlib/test/initrange.h> +#include <vespa/searchlib/test/termwise.h> #include <vespa/searchlib/common/bitvectoriterator.h> #include <vespa/searchlib/parsequery/parse.h> @@ -631,5 +632,26 @@ TEST("Test bitvector iterators adheres to initRange") { initRangeTest.verify(*BitVectorIterator::create(bv.get(), initRangeTest.getDocIdLimit(), tfmd, true)); } +class Verifier : public search::test::TermwiseVerifier { +public: + Verifier() : _bv(BitVector::create(getDocIdLimit())) { + for (uint32_t docId: getExpectedDocIds()) { + _bv->setBit(docId); + } + } + + SearchIterator::UP create(bool strict) const override { + return BitVectorIterator::create(_bv.get(), getDocIdLimit(), _tfmd, strict); + } + +private: + mutable TermFieldMatchData _tfmd; + BitVector::UP _bv; +}; +TEST("Test bitvector iterators adheres to termwise search too") { + Verifier termwiseTest; + termwiseTest.verify(); +} + TEST_MAIN() { TEST_RUN_ALL(); } |