protected static void checkNextAndCatchNSEE(LongIterator it) { boolean hasValue = it.hasValue(); long value = hasValue ? it.value() : -1; assertFalse(it.hasNext()); try { it.next(); fail(); } catch (NoSuchElementException _) { // ok } assertEquals(hasValue, it.hasValue()); assertEquals(value, hasValue ? it.value() : -1); }
@Override public int hashCode() { int h = 0; for (LongIterator it : this) { h += IntegersUtils.hash(it.value()); } return h; }
public void testIteratorHasMethods() { for (T set : createSets(LongProgression.range(1, 8))) { LongIterator iterator = set.iterator(); assertFalse(iterator.hasValue()); assertTrue(iterator.hasNext()); iterator.next(); assertTrue(iterator.hasValue()); for (int i = 0; i < 6; i++) { iterator.next(); } assertTrue(iterator.hasValue()); assertFalse(iterator.hasNext()); } }
public static <T> LongObjHppcOpenHashMap<T> createFrom(LongIterable keys, Iterable<T> values) { int keysSize = (keys instanceof LongSizedIterable) ? ((LongSizedIterable) keys).size() : 0; int valuesSize = (values instanceof Collection) ? ((Collection) keys).size() : 0; float loadFactor = LongIntOpenHashMap.DEFAULT_LOAD_FACTOR; int initialCapacity = (int)(Math.max(keysSize, valuesSize) / loadFactor) + 1; LongObjHppcOpenHashMap map = new LongObjHppcOpenHashMap(initialCapacity); LongIterator keysIt = keys.iterator(); Iterator valuesIt = values.iterator(); map.putAll(LongObjIterators.pair(keysIt, valuesIt)); if (keysIt.hasNext() || valuesIt.hasNext()) { throw new IllegalArgumentException("keys.size() != values.size()"); } return map; }
public void testArithmeticProgression() throws Exception { long start = -5, step = 10; long cur = start; LongIterator arithmetic = LongIterators.arithmeticProgression(start, step); checkNoValue(arithmetic); for (int i = 0; i < 100; i++) { assertEquals(cur, arithmetic.nextValue()); cur += 10; } for (LongIterator it : LongIterators.limit(LongIterators.arithmeticProgression(239, 0), 100)) { assertEquals(239, it.value()); } }
public void testSimple3() { for (int i = 0; i < 5; i++) { assertEquals(i * 2, it.nextValue()); } } }
public void testLimit() throws Exception { LongIterator it = limit(LongArray.create(0, 1, 2), 2); CHECK.order(it, 0, 1); for (int i = 0; i < 10; i++) { it = limit(LongCollections.repeat(5, i * 20), i * 10); checkNoValue(it); CHECK.order(LongCollections.repeat(5, i * 10).iterator(), it); it = limit(LongProgression.arithmetic(0, i * 20, 1).iterator(), i * 10); checkNoValue(it); CHECK.order(LongProgression.arithmetic(0, i * 10, 1).iterator(), it); } assertFalse(limit(LongIterator.EMPTY, 0).hasValue()); assertFalse(limit(LongIterator.EMPTY, -1).hasValue()); assertFalse(limit(LongIterator.EMPTY, -10).hasValue()); }
@Override public long[] toNativeArray(long[] dest, int destPos) { if (destPos < 0 || destPos + size() > dest.length) { throw new ArrayIndexOutOfBoundsException(); } for (LongIterator it : this) { dest[destPos++] = it.value(); } return dest; }
public void testTailIteratorHasMethods() { if (!isSortedSet()) return; WritableLongSortedSet sortedSet = (WritableLongSortedSet)set; set.addAll(LongProgression.arithmetic(1, 10, 2)); int curSize = 10; for (int i = 0; i < 20; i++) { LongIterator iterator = sortedSet.tailIterator(i); assertFalse(iterator.hasValue()); assertTrue(iterator.hasNext()); iterator.next(); assertTrue(iterator.hasValue()); for (int j = 0; j < curSize - 1; j++) { iterator.next(); } assertTrue(iterator.hasValue()); assertFalse(iterator.hasNext()); if (i % 2 == 1) curSize--; } }
public static LongLongHppcOpenHashMap createFrom(LongIterable keys, LongIterable values) { int keysSize = LongCollections.sizeOfIterable(keys, 0); int valuesSize = LongCollections.sizeOfIterable(values, 0); if (keysSize != valuesSize) { throw new IllegalArgumentException("keys.size() != values.size()"); } else { keysSize = Math.max(keysSize, valuesSize); } float loadFactor = LongLongOpenHashMap.DEFAULT_LOAD_FACTOR; int initialCapacity = (int)(keysSize / loadFactor) + 1; LongLongHppcOpenHashMap map = new LongLongHppcOpenHashMap(initialCapacity); LongIterator keysIt = keys.iterator(); LongIterator valuesIt = values.iterator(); map.putAll(LongLongIterators.pair(keysIt, valuesIt)); if (keysIt.hasNext() || valuesIt.hasNext()) { throw new IllegalArgumentException("keys.size() != values.size()"); } return map; }
public void testCreate() throws Exception { long[] longArray = {0,1,2,3,4}; LongIterator iter = LongNativeArrayIterator.create(longArray); for (int i = 0; i < 5; i++) { assertEquals(i, iter.nextValue()); } }
public void testIteratorRemove3() { for (WritableLongList list: createWritableLongLists(ap(0, 10, 1))) { WritableLongListIterator it = list.iterator(); it.next().next(); it.remove(); checkJustRemoved(it); assertEquals(2, it.nextValue()); it.move(7); assertEquals(9, it.value()); it.remove(); assertFalse(it.hasValue()); checkCollection(list, 0, 2, 3, 4, 5, 6, 7, 8); } }