diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-29 11:13:45 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-01-29 11:13:45 +0000 |
commit | 6d8cf1e164fcbde23abf73334ec04b1ab057d48c (patch) | |
tree | f6519c3bc81cf04feda3e0be64f9ad5be2921fa1 /searchlib | |
parent | ff2010ffd3c15c5518dbc9276cbc7b24cde77879 (diff) |
Add testing of growing of bitvector when count is invalid
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/tests/common/bitvector/bitvector_test.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/searchlib/src/tests/common/bitvector/bitvector_test.cpp b/searchlib/src/tests/common/bitvector/bitvector_test.cpp index d720b105671..409cc9f2725 100644 --- a/searchlib/src/tests/common/bitvector/bitvector_test.cpp +++ b/searchlib/src/tests/common/bitvector/bitvector_test.cpp @@ -542,15 +542,16 @@ TEST("requireThatGrowWorks") { vespalib::GenerationHolder g; GrowableBitVector v(200, 200, g); + EXPECT_EQUAL(0u, v.countTrueBits()); - v.setBit(7); - v.setBit(39); - v.setBit(71); - v.setBit(103); - - EXPECT_EQUAL(200u, v.size()); + v.setBitAndMaintainCount(7); + v.setBitAndMaintainCount(39); + v.setBitAndMaintainCount(71); + v.setBitAndMaintainCount(103); + EXPECT_EQUAL(4u, v.countTrueBits()); + + EXPECT_EQUAL(200u, v.size()); EXPECT_EQUAL(1023u, v.capacity()); - v.invalidateCachedCount(); EXPECT_TRUE(assertBV("[7,39,71,103]", v)); EXPECT_EQUAL(4u, v.countTrueBits()); EXPECT_TRUE(v.reserve(1024)); @@ -584,6 +585,13 @@ TEST("requireThatGrowWorks") EXPECT_EQUAL(2047u, v.capacity()); EXPECT_TRUE(assertBV("[7,39,71]", v)); EXPECT_EQUAL(3u, v.countTrueBits()); + + v.invalidateCachedCount(); + EXPECT_TRUE(v.reserve(3100)); + EXPECT_EQUAL(100u, v.size()); + EXPECT_EQUAL(4095u, v.capacity()); + EXPECT_EQUAL(3u, v.countTrueBits()); + g.transferHoldLists(1); g.trimHoldLists(2); } |