2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Added more tests.
	* test/BitfieldManTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-02-10 15:09:59 +00:00
parent ccc552cec9
commit aa1139bb67
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added more tests.
* test/BitfieldManTest.cc
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added BitfieldMan::getFirstNMissingUnusedIndex() to get multiple

View File

@ -852,22 +852,26 @@ void BitfieldManTest::testGetFirstNMissingUnusedIndex()
bt.setUseBit(1);
bt.setBit(5);
std::vector<size_t> out;
bt.getFirstNMissingUnusedIndex(out, 256);
CPPUNIT_ASSERT(bt.getFirstNMissingUnusedIndex(out, 256));
CPPUNIT_ASSERT_EQUAL((size_t)8, out.size());
const size_t ans[] = {0, 2, 3, 4, 6, 7, 8, 9};
for(size_t i = 0; i < out.size(); ++i) {
CPPUNIT_ASSERT_EQUAL(ans[i], out[i]);
}
out.clear();
bt.getFirstNMissingUnusedIndex(out, 3);
CPPUNIT_ASSERT(bt.getFirstNMissingUnusedIndex(out, 3));
CPPUNIT_ASSERT_EQUAL((size_t)3, out.size());
for(size_t i = 0; i < out.size(); ++i) {
CPPUNIT_ASSERT_EQUAL(ans[i], out[i]);
}
CPPUNIT_ASSERT(!bt.getFirstNMissingUnusedIndex(out, 0));
bt.setAllBit();
CPPUNIT_ASSERT(!bt.getFirstNMissingUnusedIndex(out, 10));
bt.clearAllBit();
out.clear();
bt.addFilter(1024*9, 1024);
bt.enableFilter();
bt.getFirstNMissingUnusedIndex(out, 256);
CPPUNIT_ASSERT(bt.getFirstNMissingUnusedIndex(out, 256));
CPPUNIT_ASSERT_EQUAL((size_t)1, out.size());
CPPUNIT_ASSERT_EQUAL((size_t)9, out[0]);
}