public void testToBoundedString() { LongArray array = new LongArray(); array.addAll(LongIterators.range(10)); checkToBoundedString("(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)", 5, array); array.add(10); checkToBoundedString("[11] (0, 1, 2, 3, 4, ..., 6, 7, 8, 9, 10)", 5, array); array.addAll(LongIterators.range(11, 21)); checkToBoundedString("[21] (0, 1, 2, 3, 4, ..., 16, 17, 18, 19, 20)", 5, array); array.addAll(LongIterators.range(21, 40)); StringBuilder expected = new StringBuilder().append("(0"); for (int i = 1; i < 40; i++) { expected.append(", ").append(i); } expected.append(')'); checkToBoundedString(expected.toString(), 20, array); array = LongArray.create(0, 1, 2, 3, 4); checkToBoundedString("[5] (0, 1, ..., 3, 4)", 2, array); }
res.add(new LongIntersectionIterator()); res.add(new LongIntersectionIterator(LongIterator.EMPTY)); res.add(new LongIntersectionIterator(range(0, 10, 2), range(1, 10, 2))); res.add(new LongIntersectionIterator(range(0, 30, 3), range(1, 30, 3), range(2, 30, 3))); res.add(new LongIntersectionIterator(LongIterator.EMPTY, range(0, 10))); return res; array.addAll(range(min, min + 10)); array.addAll(range(max - 10, max + 1)); array.sortUnique(); res.add(new LongIntersectionIterator(new LongNativeArrayIterator(values), array));
public void testIteratorGet() { array.addAll(LongIterators.range(0, 1030)); LongListIterator it = array.iterator(); it.move(1024); for (int i = -10, cur = 1013; i < 5; i++) { assertEquals(it.get(i), cur++); } }
public void checkRange(long ... params) { assert params.length == 3; long start = params[0], stop = params[1], step = params[2]; // get range LongArray expected = new LongArray(); long delta = stop - start; assert step != 0 && (delta == 0 || ((delta > 0) == (step > 0))); if (step > 0) { for (long i = start; i < stop; i += step) { expected.add(i); } } else { for (long i = start; stop < i; i += step) { expected.add(i); } } LongIterator actual = LongIterators.range(start, stop, step); checkNoValue(actual); CHECK.order(expected.iterator(), actual); LongIteratorSpecificationChecker.checkNextAndCatchNSEE(actual); }
public void testPiteratorSimple() { LongCyclicQueue clq = new LongCyclicQueue(); clq.addAll(LongIterators.range(15)); LongCyclicQueue.PinnedIterator ii = clq.pinnedIterator(3); clq.removeFirst(3); ii.next(); assertEquals(0, ii.index()); ii = clq.pinnedIterator().next(); assertEquals(0, ii.index()); }
public void testSubList() { for (WritableLongList list: empty()) { list.addAll(range(0, 10000)); checkList(list.subList(10, 20), ap(10, 10, 1)); checkList(list.subList(10, 10000), ap(10, 9990, 1)); checkList(list.subList(9990, 10000), ap(9990, 10, 1)); checkList(list.subList(9990, 9990)); assertEquals(list, list.subList(0, 10000)); assertTrue(list == list.subList(0, 10000)); } }
public void testRemoveByIterator() { for (WritableLongList list: empty()) { int COUNT = 10000; list.addAll(range(COUNT, 0, -1)); int x = 10000; for (WritableLongListIterator ii : list.write()) { assertEquals(x, ii.value()); assertEquals(x, ii.get(0)); if (x > 1) assertEquals(x - 1, ii.get(1)); ii.set(0, 999); assertEquals(999, ii.get(0)); ii.remove(); assertFalse(ii.hasValue()); x--; } } }
public void testToNativeArray2() { for (T set : createSets(LongProgression.range(20, 40))) { long[] ar = new long[40]; set.toNativeArray(ar, 3); LongArray actual = new LongArray(new LongArray(ar).subList(3, 23)); LongList expected = LongProgression.range(20, 40); CHECK.unordered(actual, expected); set.removeAll(LongIterators.range(20, 40, 2)); set.toNativeArray(ar, 4); expected = LongProgression.range(21, 40, 2); actual = new LongArray(new LongArray(ar).subList(4, 4 + expected.size())); CHECK.unordered(actual, expected); } }
public void testSimpleMap() { for (int i = 0; i < 10; i++) { map.put(i, i * i); } LongArray expected = new LongArray(range(0, 10)); assertEquals(10, map.size()); assertTrue(map.containsKeys(expected)); LongArray actual = new LongArray(10); for (LongIterator keysIt : map.keysIterator()) { actual.add(keysIt.value()); } actual.sort(); CHECK.order(actual.iterator(), expected.iterator()); for (LongIterator it : expected) { long value = it.value(); assertEquals(value * value, map.get(value)); } }
public void testPiteratorIndex() { myArray.addAll(LongIterators.range(15)); CHECK.order(range(15), myArray); LongCyclicQueue.PinnedIterator it = myArray.pinnedIterator(); try { it.index(); fail(); } catch (NoSuchElementException _) { // ok } assertEquals(0, it.age()); for (int i = 0; i < 10; i++) { it.next(); assertEquals(i, it.index()); } myArray.addAll(15, 16, 17); assertEquals(9, it.index()); for (int i = 1; i < 10; i++) { myArray.removeFirst(); assertEquals(9 - i, it.index()); } }