protected void checkGetMethods(long... values) { LongList expected = LongArray.create(values); for (LongList arr : createLongListVariants(values)) { for (int i = 0; i < arr.size(); i++) { assertEquals(expected.get(i), arr.get(i)); } for (int i = 0; i < arr.size(); i++) { for (int j = -1; j < 2; j++) { long value = arr.get(i) + j; assertEquals(expected.indexOf(value), arr.indexOf(value)); assertEquals(expected.contains(value), arr.contains(value)); } } } }
public void checkRetain(LongList list, LongList values, boolean isSorted) { LongArray array = new LongArray(list); LongArray expected = new LongArray(array.size()); for (int i = 0; i < array.size(); i++) { long value = array.get(i); if ((isSorted && values.binarySearch(value) >= 0) || (!isSorted && values.contains(value))) { expected.add(value); } } if (isSorted) { array.retainSorted(values); } else { array.retain(values); } CHECK.order(expected, array); }
public void testRemoveAllValuesMany() { final int N_KEYS = 2000; final int PRIME = 43; final int N_ATTEMPTS = 10; final int VALS_IN_ATTEMPT = 3; map.insertAllRo(LongProgression.arithmetic(0, N_KEYS), apply(swap(MOD), PRIME)); LongArray removed = new LongArray(); for (int i = 0; i < N_ATTEMPTS; ++i) { LongArray toRemove = new LongArray(); for (int j = 0; j < VALS_IN_ATTEMPT; ++j) { int v = myRand.nextInt(PRIME); toRemove.add(v); removed.add(v); } map.removeAllValues(toRemove); for (int j = 0; j < removed.size(); ++j) { assertFalse(i + "\n" + map.getKeys() + "\n" + toRemove + "\n" + removed.get(j), map.getKeys().contains(removed.get(j))); } checkMapValuesEqualKeysMod(PRIME); } }
public void testRemoveKeyValue() { int size = 20, maxKey = size * 2; LongList keys = LongProgression.range(0, maxKey, maxKey / size); IntList values = new IntArray(limit(cycle(0, 1, 2, 3), 20)); for (T map0 : createMapsFromLists(keys, values)) { for (int i = 0; i < maxKey; i++) { assertFalse(map0.remove(i, -1)); if (keys.contains(i)) { int val = (i/2) % 4; if (val == 0) { assertTrue(map0.remove(i, 0)); } else { assertFalse(map0.remove(i, 0)); assertTrue(map0.remove(i, val)); } } else { assertFalse(map0.remove(i, 0)); assertFalse(map0.remove(i, 1)); } } } }