diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-06-27 23:28:57 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-06-27 23:28:57 +0900 |
| commit | c30ea8adeb8887a7326e745ffdfebd75b6f2f2f3 (patch) | |
| tree | 22dbb38eda2f9a751652afd3fe49447de40a9baf /test/BitfieldManTest.cc | |
| parent | 68f225de0b66968e232d838b29dd1e12f10f3302 (diff) | |
Don't sum in-flight piece which does not intersect filtered ranges
When calculating completed length, don't sum the completed length of
piece which does not intersect filtered ranges.
Diffstat (limited to 'test/BitfieldManTest.cc')
| -rw-r--r-- | test/BitfieldManTest.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/BitfieldManTest.cc b/test/BitfieldManTest.cc index eb03fad8..bc7ebcc2 100644 --- a/test/BitfieldManTest.cc +++ b/test/BitfieldManTest.cc @@ -18,6 +18,7 @@ class BitfieldManTest:public CppUnit::TestFixture { CPPUNIT_TEST(testGetFirstMissingIndex); CPPUNIT_TEST(testIsAllBitSet); CPPUNIT_TEST(testFilter); + CPPUNIT_TEST(testIsFilterBitSet); CPPUNIT_TEST(testAddFilter_zeroLength); CPPUNIT_TEST(testAddNotFilter); CPPUNIT_TEST(testAddNotFilter_zeroLength); @@ -51,6 +52,7 @@ public: void testIsAllBitSet(); void testFilter(); + void testIsFilterBitSet(); void testAddFilter_zeroLength(); void testAddNotFilter(); void testAddNotFilter_zeroLength(); @@ -244,6 +246,17 @@ void BitfieldManTest::testFilter() CPPUNIT_ASSERT_EQUAL((int64_t)31ULL, btman2.getFilteredTotalLength()); } +void BitfieldManTest::testIsFilterBitSet() +{ + BitfieldMan btman(2, 32); + CPPUNIT_ASSERT(!btman.isFilterBitSet(0)); + btman.addFilter(0, 2); + CPPUNIT_ASSERT(btman.isFilterBitSet(0)); + CPPUNIT_ASSERT(!btman.isFilterBitSet(1)); + btman.addFilter(2, 4); + CPPUNIT_ASSERT(btman.isFilterBitSet(1)); +} + void BitfieldManTest::testAddFilter_zeroLength() { BitfieldMan bits(1024, 1024*1024); |
