summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/attribute/sourceselector
diff options
context:
space:
mode:
authorTor Egge <tegge@oath.com>2019-01-04 14:27:45 +0000
committerTor Egge <tegge@oath.com>2019-01-04 14:27:45 +0000
commit8c5ba8a3b431f9aecbff726f9cb73ceb6cd7ca26 (patch)
treecbe6e91dd1cfb088b67ded6980d0fa8d46c14587 /searchlib/src/tests/attribute/sourceselector
parent0fb6c8f4efd731e57c867246802aae12905a0763 (diff)
Correct tracking of docIdLimit in FixedSourceSelector.
Diffstat (limited to 'searchlib/src/tests/attribute/sourceselector')
-rw-r--r--searchlib/src/tests/attribute/sourceselector/sourceselector_test.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/searchlib/src/tests/attribute/sourceselector/sourceselector_test.cpp b/searchlib/src/tests/attribute/sourceselector/sourceselector_test.cpp
index 1eda0b7cb67..75a0ccf6ab9 100644
--- a/searchlib/src/tests/attribute/sourceselector/sourceselector_test.cpp
+++ b/searchlib/src/tests/attribute/sourceselector/sourceselector_test.cpp
@@ -49,6 +49,7 @@ private:
template <typename SelectorType>
void requireThatSourcesAreCountedCorrectly();
void requireThatSourcesAreCountedCorrectly();
+ void requireThatDocIdLimitIsCorrect();
};
int
@@ -64,6 +65,7 @@ Test::Main()
TEST_DO(requireThatSelectorCanSaveAndLoad());
TEST_DO(requireThatCompleteSourceRangeIsHandled());
TEST_DO(requireThatSourcesAreCountedCorrectly());
+ TEST_DO(requireThatDocIdLimitIsCorrect());
TEST_DONE();
}
@@ -219,6 +221,21 @@ Test::requireThatSourcesAreCountedCorrectly()
requireThatSourcesAreCountedCorrectly<FixedSourceSelector>();
}
+void
+Test::requireThatDocIdLimitIsCorrect()
+{
+ FixedSourceSelector selector(default_source, base_file_name);
+ EXPECT_EQUAL(0u, selector.getDocIdLimit());
+ selector.setSource(8, 10);
+ EXPECT_EQUAL(9u, selector.getDocIdLimit());
+ selector.compactLidSpace(4);
+ EXPECT_EQUAL(4u, selector.getDocIdLimit());
+ selector.setSource(6, 10);
+ EXPECT_EQUAL(7u, selector.getDocIdLimit());
+ auto selector2 = selector.cloneAndSubtract(base_file_name2, 3);
+ EXPECT_EQUAL(7u, selector2->getDocIdLimit());
+}
+
} // namespace
TEST_APPHOOK(Test);