12 using namespace tasks::tools;
19 CPPUNIT_ASSERT_MESSAGE(
"bitset(" + std::to_string(bs.
bits()) +
") toggle test 1: i=" + std::to_string(i),
27 CPPUNIT_ASSERT_MESSAGE(
"bitset(" + std::to_string(bs.
bits()) +
") toggle test 2: i=" + std::to_string(i),
35 CPPUNIT_ASSERT_MESSAGE(
"bitset(" + std::to_string(bs.
bits()) +
") set test: i=" + std::to_string(i),
43 CPPUNIT_ASSERT_MESSAGE(
"bitset(" + std::to_string(bs.
bits()) +
") unset test: i=" + std::to_string(i),
52 CPPUNIT_ASSERT(10 == bs1.
buckets());
58 CPPUNIT_ASSERT(bs1.
first(bit));
59 CPPUNIT_ASSERT(0 == bit);
61 CPPUNIT_ASSERT(bs1.
first(bit));
62 CPPUNIT_ASSERT(3 == bit);
63 CPPUNIT_ASSERT(bs1.
next(bit));
64 CPPUNIT_ASSERT(3 == bit);
65 CPPUNIT_ASSERT(bs1.
next(bit, 3));
66 CPPUNIT_ASSERT(3 == bit);
67 CPPUNIT_ASSERT(bs1.
next(bit, 4));
68 CPPUNIT_ASSERT(6 == bit);
69 CPPUNIT_ASSERT(bs1.
next(bit, 7));
70 CPPUNIT_ASSERT(9 == bit);
72 CPPUNIT_ASSERT(bs1.
next(bit, 9));
73 CPPUNIT_ASSERT(3 == bit);
76 CPPUNIT_ASSERT(64 == bs2.
buckets());
79 CPPUNIT_ASSERT(bs2.
next(bit));
80 CPPUNIT_ASSERT(63 == bit);
81 CPPUNIT_ASSERT(bs2.
next(bit, 62));
82 CPPUNIT_ASSERT(63 == bit);
83 CPPUNIT_ASSERT(bs2.
next(bit, 63));
84 CPPUNIT_ASSERT(63 == bit);
87 CPPUNIT_ASSERT(120 == bs3.
buckets());
93 CPPUNIT_ASSERT(bs3.
next(bit));
94 CPPUNIT_ASSERT(3 == bit);
95 CPPUNIT_ASSERT(bs3.
next(bit, 4));
96 CPPUNIT_ASSERT(63 == bit);
97 CPPUNIT_ASSERT(bs3.
next(bit, 64));
98 CPPUNIT_ASSERT(64 == bit);
99 CPPUNIT_ASSERT(bs3.
next(bit, 65));
100 CPPUNIT_ASSERT(118 == bit);
101 CPPUNIT_ASSERT(bs3.
next(bit, 119));
105 CPPUNIT_ASSERT(bs3.
next(bit));
106 CPPUNIT_ASSERT(118 == bit);
107 CPPUNIT_ASSERT(bs3.
first(bit));
108 CPPUNIT_ASSERT(118 == bit);
111 CPPUNIT_ASSERT(129 == bs4.
buckets());
114 CPPUNIT_ASSERT(bs4.
next(bit));
115 CPPUNIT_ASSERT(128 == bit);
116 CPPUNIT_ASSERT(bs4.
first(bit));
117 CPPUNIT_ASSERT(128 == bit);
120 CPPUNIT_ASSERT(bs4.
next(bit, 61));
121 CPPUNIT_ASSERT(60 == bit);
void full_iteration(bitset &bs)