summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp')
-rw-r--r--searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp
index 54a7d6ea286..4ac4c92f658 100644
--- a/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp
+++ b/searchlib/src/tests/fef/termfieldmodel/termfieldmodel_test.cpp
@@ -27,6 +27,26 @@ struct State {
State::State() : term(), md(), f3(nullptr), f5(nullptr), f7(nullptr), array() {}
State::~State() = default;
+/**
+ * convenience adapter for easy iteration
+ **/
+class SimpleTermFieldRangeAdapter
+{
+ SimpleTermData& _ref;
+ size_t _idx;
+ size_t _lim;
+public:
+ explicit SimpleTermFieldRangeAdapter(SimpleTermData& ref)
+ : _ref(ref), _idx(0), _lim(ref.numFields())
+ {}
+
+ [[nodiscard]] bool valid() const { return (_idx < _lim); }
+
+ [[nodiscard]] SimpleTermFieldData& get() const { return _ref.field(_idx); }
+
+ void next() { assert(valid()); ++_idx; }
+};
+
void testInvalidId() {
const TermFieldMatchData empty;
using search::queryeval::SearchIterator;
@@ -44,7 +64,7 @@ void testSetup(State &state) {
state.term.addField(5); // docfreq = 3
using FRA = search::fef::ITermFieldRangeAdapter;
- using SFR = search::fef::SimpleTermFieldRangeAdapter;
+ using SFR = SimpleTermFieldRangeAdapter;
// lookup terms
{