diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2019-06-04 15:01:29 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2019-06-04 15:01:29 +0200 |
commit | ca75983acaa894d86b727c8c91026110d32d6dae (patch) | |
tree | fe180e8b8d7f0a5a84f7919c3f05d5a483cf5595 /searchlib/src/tests/memoryindex/document_inverter | |
parent | 05a2b4d3fbf3be03c69a42252051c141ec11fc14 (diff) |
Wire field inverter at construction time.
Diffstat (limited to 'searchlib/src/tests/memoryindex/document_inverter')
-rw-r--r-- | searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp b/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp index 91c1ccba706..08645f38712 100644 --- a/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp +++ b/searchlib/src/tests/memoryindex/document_inverter/document_inverter_test.cpp @@ -3,8 +3,12 @@ #include <vespa/searchlib/index/docbuilder.h> +#include <vespa/searchlib/index/field_length_calculator.h> #include <vespa/searchlib/memoryindex/document_inverter.h> +#include <vespa/searchlib/memoryindex/field_index_remover.h> #include <vespa/searchlib/memoryindex/field_inverter.h> +#include <vespa/searchlib/memoryindex/i_field_index_collection.h> +#include <vespa/searchlib/memoryindex/word_store.h> #include <vespa/searchlib/test/memoryindex/ordered_field_index_inserter.h> #include <vespa/searchlib/common/sequencedtaskexecutor.h> #include <vespa/vespalib/testkit/testapp.h> @@ -90,14 +94,46 @@ makeDoc15(DocBuilder &b) } +class MockFieldIndexCollection : public IFieldIndexCollection +{ + FieldIndexRemover &_remover; + test::OrderedFieldIndexInserter &_inserter; + FieldLengthCalculator &_calculator; + +public: + MockFieldIndexCollection(FieldIndexRemover &remover, + test::OrderedFieldIndexInserter &inserter, + FieldLengthCalculator &calculator) + : _remover(remover), + _inserter(inserter), + _calculator(calculator) + { + } + + FieldIndexRemover &get_remover(uint32_t) override { + return _remover; + } + IOrderedFieldIndexInserter &get_inserter(uint32_t) override { + return _inserter; + } + index::FieldLengthCalculator &get_calculator(uint32_t) override { + return _calculator; + } +}; + + struct Fixture { Schema _schema; DocBuilder _b; SequencedTaskExecutor _invertThreads; SequencedTaskExecutor _pushThreads; - DocumentInverter _inv; + WordStore _word_store; + FieldIndexRemover _remover; test::OrderedFieldIndexInserter _inserter; + FieldLengthCalculator _calculator; + MockFieldIndexCollection _fic; + DocumentInverter _inv; static Schema makeSchema() @@ -115,8 +151,12 @@ struct Fixture _b(_schema), _invertThreads(2), _pushThreads(2), - _inv(_schema, _invertThreads, _pushThreads), - _inserter() + _word_store(), + _remover(_word_store), + _inserter(), + _calculator(), + _fic(_remover, _inserter, _calculator), + _inv(_schema, _invertThreads, _pushThreads, _fic) { } @@ -127,7 +167,7 @@ struct Fixture uint32_t fieldId = 0; for (auto &inverter : _inv.getInverters()) { _inserter.setFieldId(fieldId); - inverter->pushDocuments(_inserter); + inverter->pushDocuments(); ++fieldId; } _pushThreads.sync(); |