@Test public void testGetSet() { BitSet bitSet = new BitSet(NUM_BITS); for (int i = 0; i < NUM_BITS; i++) { assertFalse(bitSet.get(i)); } bitSet.set(0); bitSet.set(NUM_BITS - 1); assertTrue(bitSet.get(0)); assertTrue(bitSet.get(NUM_BITS - 1)); }
@Test public void testClear() { BitSet bitSet = new BitSet(NUM_BITS); for (int i = 0; i < NUM_BITS; i++) { bitSet.set(i); } for (int i = 0; i < NUM_BITS; i++) { assertTrue(bitSet.get(i)); } bitSet.clear(); for (int i = 0; i < NUM_BITS; i++) { assertFalse(bitSet.get(i)); } }
@Test public void testClone() { BitSet bitSet = new BitSet(NUM_BITS); bitSet.set(NUM_BITS - 1); bitSet = bitSet.clone(); assertTrue(bitSet.get(NUM_BITS - 1)); }
@Test public void testNextBitSetRandom() { RandomGenerator random = RandomManager.getRandom(); for (int i = 0; i < 100; i++) { BitSet bitSet = new BitSet(NUM_BITS); for (int j = 0; j < 20 + random.nextInt(50); j++) { bitSet.set(random.nextInt(NUM_BITS)); } int from = random.nextInt(NUM_BITS); int nextSet = bitSet.nextSetBit(from); if (nextSet == -1) { for (int j = from; j < NUM_BITS; j++) { assertFalse(bitSet.get(j)); } } else { for (int j = from; j < nextSet; j++) { assertFalse(bitSet.get(j)); } assertTrue(bitSet.get(nextSet)); } } }
public static boolean get(BitSet b, int index) { return b != null && b.get(index); }