protected void check(final int bits) { final BitIndex index = BitCreate.createIndex(100, bits); final int mask = (1 << bits) - 1; assertTrue(index.globalIntegrity()); for (long i = 0; i < index.length(); i++) { index.set(i, mask); } for (long i = index.length() - 1; i >= 0; i -= 3) { index.set(i, (int) (i & mask)); } for (long i = 0; i < index.length(); i++) { assertEquals("i=" + i, i % 3 == 0 ? i & mask : mask, index.get(i)); } assertEquals(100, index.length()); assertEquals(8L * (100 / (64 / index.getBits()) + 1), index.bytes()); assertTrue(index.globalIntegrity()); }