aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2017-09-06 15:04:54 +0000
committerGeir Storli <geirst@oath.com>2017-09-06 15:45:26 +0000
commit9a2a64a3bd9a20ce2e5697a450ce5bc4896179b1 (patch)
treeea919030a331b3280e62cdb4ad796486ad64636a /searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp
parentf77fff6223051fe8238eb5f9160348e422fe76f0 (diff)
Use bit vector search cache in imported search context if available.
Try to use bit vector from cache for the given query term if found. Insert bit vector posting list into cache after calculation.
Diffstat (limited to 'searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp')
-rw-r--r--searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp b/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp
index 7b395a6459c..1f738a209df 100644
--- a/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp
+++ b/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp
@@ -8,48 +8,49 @@ using namespace search;
using namespace search::attribute;
using BitVectorSP = BitVectorSearchCache::BitVectorSP;
+using Entry = BitVectorSearchCache::Entry;
-BitVectorSP
-makeBitVector()
+Entry::SP
+makeEntry()
{
- return BitVectorSP(BitVector::create(5).release());
+ return std::make_shared<Entry>(BitVector::create(5), 10);
}
struct Fixture {
BitVectorSearchCache cache;
- BitVectorSP vec1;
- BitVectorSP vec2;
+ Entry::SP entry1;
+ Entry::SP entry2;
Fixture()
: cache(),
- vec1(makeBitVector()),
- vec2(makeBitVector())
+ entry1(makeEntry()),
+ entry2(makeEntry())
{}
};
TEST_F("require that bit vectors can be inserted and retrieved", Fixture)
{
EXPECT_EQUAL(0u, f.cache.size());
- f.cache.insert("foo", f.vec1);
- f.cache.insert("bar", f.vec2);
+ f.cache.insert("foo", f.entry1);
+ f.cache.insert("bar", f.entry2);
EXPECT_EQUAL(2u, f.cache.size());
- EXPECT_EQUAL(f.vec1, f.cache.find("foo"));
- EXPECT_EQUAL(f.vec2, f.cache.find("bar"));
+ EXPECT_EQUAL(f.entry1, f.cache.find("foo"));
+ EXPECT_EQUAL(f.entry2, f.cache.find("bar"));
EXPECT_TRUE(f.cache.find("baz").get() == nullptr);
}
TEST_F("require that insert() doesn't replace existing bit vector", Fixture)
{
- f.cache.insert("foo", f.vec1);
- f.cache.insert("foo", f.vec2);
+ f.cache.insert("foo", f.entry1);
+ f.cache.insert("foo", f.entry2);
EXPECT_EQUAL(1u, f.cache.size());
- EXPECT_EQUAL(f.vec1, f.cache.find("foo"));
+ EXPECT_EQUAL(f.entry1, f.cache.find("foo"));
}
TEST_F("require that cache can be cleared", Fixture)
{
- f.cache.insert("foo", f.vec1);
- f.cache.insert("bar", f.vec2);
+ f.cache.insert("foo", f.entry1);
+ f.cache.insert("bar", f.entry2);
EXPECT_EQUAL(2u, f.cache.size());
f.cache.clear();