public void test_iterator() { BitIntSet set = new BitIntSet(32); set.add(0); set.add(0); set.add(1); set.add(1); set.add(31); set.add(31); IntIterator iter = set.iterator(); assertTrue(iter.hasNext()); assertEquals(iter.next(), 0); assertTrue(iter.hasNext()); assertEquals(iter.next(), 1); assertTrue(iter.hasNext()); assertEquals(iter.next(), 31); assertFalse(iter.hasNext()); try { iter.next(); fail(); } catch (NoSuchElementException ex) { // exception excepted } }
public void test_merge() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } BitIntSet setB = new BitIntSet(32); int[] valuesB = {0, 5, 6, 8, 31}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_merge() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } BitIntSet setB = new BitIntSet(32); int[] valuesB = {0, 5, 6, 8, 31}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_mergeAndExpand() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } BitIntSet setB = new BitIntSet(32); int[] valuesB = {0, 5, 6, 32, 127}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_mergeAndExpand() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } BitIntSet setB = new BitIntSet(32); int[] valuesB = {0, 5, 6, 32, 127}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_basic() { BitIntSet set = new BitIntSet(32); assertEquals(0, set.elements()); set.add(0); set.add(1); set.add(31); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertEquals(3, set.elements()); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); }
public void test_basic() { BitIntSet set = new BitIntSet(32); assertEquals(0, set.elements()); set.add(0); set.add(1); set.add(31); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertEquals(3, set.elements()); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); }
public void test_remove() { BitIntSet set = new BitIntSet(32); set.add(0); set.add(1); set.add(31); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); set.remove(0); assertFalse(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); }
public void test_remove() { BitIntSet set = new BitIntSet(32); set.add(0); set.add(1); set.add(31); assertTrue(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); assertFalse(set.has(2)); assertFalse(set.has(7)); assertFalse(set.has(30)); set.remove(0); assertFalse(set.has(0)); assertTrue(set.has(1)); assertTrue(set.has(31)); }
/** * Tests the auto-expansion of the set */ public void test_expand() { BitIntSet set = new BitIntSet(32); int[] values = {0, 1, 31, 32, 128}; for (int i = 0; i < values.length; i++) { set.add(values[i]); } IntIterator iter = set.iterator(); for (int i = 0; i < values.length; i++) { assertTrue(iter.hasNext()); assertEquals(values[i], iter.next()); } assertFalse(iter.hasNext()); }
/** * Tests the auto-expansion of the set */ public void test_expand() { BitIntSet set = new BitIntSet(32); int[] values = {0, 1, 31, 32, 128}; for (int i = 0; i < values.length; i++) { set.add(values[i]); } IntIterator iter = set.iterator(); for (int i = 0; i < values.length; i++) { assertTrue(iter.hasNext()); assertEquals(values[i], iter.next()); } assertFalse(iter.hasNext()); }
public void test_mergeWithBitIntSet() { ListIntSet setA = new ListIntSet(); int[] valuesA = {0, 1, 31, 129, 130}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } BitIntSet setB = new BitIntSet(129); int[] valuesB = {0, 5, 6, 32, 127,128}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_mergeWithListIntSet() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } ListIntSet setB = new ListIntSet(); int[] valuesB = {0, 5, 6, 8, 31}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_mergeWithBitIntSet() { ListIntSet setA = new ListIntSet(); int[] valuesA = {0, 1, 31, 129, 130}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } BitIntSet setB = new BitIntSet(129); int[] valuesB = {0, 5, 6, 32, 127,128}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
public void test_mergeWithListIntSet() { BitIntSet setA = new BitIntSet(32); int[] valuesA = {0, 1, 31}; for (int i = 0; i < valuesA.length; i++) { setA.add(valuesA[i]); } ListIntSet setB = new ListIntSet(); int[] valuesB = {0, 5, 6, 8, 31}; for (int i = 0; i < valuesB.length; i++) { setB.add(valuesB[i]); } setA.merge(setB); for (int i = 0; i < valuesA.length; i++) { assertTrue(setA.has(valuesA[i])); } for (int i = 0; i < valuesB.length; i++) { assertTrue(setA.has(valuesB[i])); } }
/** @inheritDoc */ public void merge(IntSet other) { if (other instanceof BitIntSet) { BitIntSet o = (BitIntSet) other; ensureCapacity(Bits.getMax(o.bits) + 1); Bits.or(bits, o.bits); } else if (other instanceof ListIntSet) { ListIntSet o = (ListIntSet) other; int sz = o.ints.size(); if (sz > 0) { ensureCapacity(o.ints.get(sz - 1)); } for (int i = 0; i < o.ints.size(); i++) { Bits.set(bits, o.ints.get(i), true); } } else { IntIterator iter = other.iterator(); while (iter.hasNext()) { add(iter.next()); } } }
/** {@inheritDoc} */ public void merge(IntSet other) { if (other instanceof BitIntSet) { BitIntSet o = (BitIntSet) other; ensureCapacity(Bits.getMax(o.bits) + 1); Bits.or(bits, o.bits); } else if (other instanceof ListIntSet) { ListIntSet o = (ListIntSet) other; int sz = o.ints.size(); if (sz > 0) { ensureCapacity(o.ints.get(sz - 1)); } for (int i = 0; i < o.ints.size(); i++) { Bits.set(bits, o.ints.get(i), true); } } else { IntIterator iter = other.iterator(); while (iter.hasNext()) { add(iter.next()); } } }
/** @inheritDoc */ public void merge(IntSet other) { if (other instanceof BitIntSet) { BitIntSet o = (BitIntSet) other; ensureCapacity(Bits.getMax(o.bits) + 1); Bits.or(bits, o.bits); } else if (other instanceof ListIntSet) { ListIntSet o = (ListIntSet) other; int sz = o.ints.size(); if (sz > 0) { ensureCapacity(o.ints.get(sz - 1)); } for (int i = 0; i < o.ints.size(); i++) { Bits.set(bits, o.ints.get(i), true); } } else { IntIterator iter = other.iterator(); while (iter.hasNext()) { add(iter.next()); } } }