public void testContains() { int arSize = 45, maxVal = Integer.MAX_VALUE, attempts = 10; for (int attempt = 0; attempt < attempts; attempt++) { LongArray arr = generateRandomLongArray(arSize, SORTED_UNIQUE, maxVal); LongArray arr2 = LongCollections.collectLists(arr, map(LongFunctions.INC, arr), map(LongFunctions.DEC, arr)); arr2.sortUnique(); for (LongSet curSet : createSets(arr)) { for (int i = 0; i < arr2.size(); i++) { long value = arr2.get(i); assertEquals(arr.binarySearch(value) >= 0, curSet.contains(value)); } assertTrue(curSet.containsAll(arr)); assertTrue(curSet.containsAll(curSet)); assertTrue(curSet.containsAll(curSet.iterator())); assertTrue(curSet.containsAll(LongList.EMPTY)); assertFalse(curSet.containsAll(concatLists(arr, new LongList.Single(arr.getLast(0) + 1)))); assertEquals(arr.size(), curSet.size()); } } }
public void testEquals() { int size = 100; int attemptsCount = 10; for (int attempt = 0; attempt < attemptsCount; attempt++) { LongArray array = generateRandomLongArray(size, SORTED_UNIQUE); // suppose array == [0, 1, 2, ... , size-1] if (array.equalSortedUniqueValues(range(size))) continue; long lastElem = array.getLast(0); LongList list = LongCollections.concatLists(array.subList(0, array.size() - 1), new LongList.Single(lastElem + 1)); for (T set0 : createSets(array)) { assertTrue(set0.equals(set0)); assertFalse(set0.equals(null)); assertFalse(set0.equals(LongSet.EMPTY)); assertFalse(set0.equals(setFromSortedUniqueList(list))); for (T set1 : createSets(array)) { assertTrue(set0.equals(set1)); assertTrue(set1.equals(set0)); } } } }
public void testSimpleResize() { long[] values0 = {-1, 0, 10, -10, 20, 30}; LongArray values = new LongArray(values0); LongArray toAdd = LongArray.create(0, -4, -10, 20); LongList expected = LongCollections.concatLists(values, toAdd); for (WritableLongList list : createWritableLongLists(values0)) { CHECK.order(values, list); list.addAll(toAdd); CHECK.order(expected, list); } LongList valuesList = LongProgression.range(1024); values0 = valuesList.toNativeArray(); long[] expected0 = LongCollections.collectLists(valuesList, new LongList.Single(1025)).extractHostArray(); for (WritableLongList list : createWritableLongLists(values0)) { list.add(1025); CHECK.order(list, expected0); } }
public void testSimple() { int[][] leftVariants = {{}, {0, 1, 2}, {10, 20, 30}, {0, 2, 4, 6}, {Integer.MIN_VALUE, Integer.MAX_VALUE, 1, 2, 0}}; for (int[] left : leftVariants) { for (int[] right0 : leftVariants) { IntList leftList = new IntArray(left); LongList rightList = LongCollections.asLongList(new IntArray(right0)); IntList leftSingle = new IntList.Single(Integer.MIN_VALUE); LongList rightSingle = new LongList.Single(Long.MIN_VALUE); checkPairIterator(left, right0, leftList, rightList); if (leftList.size() == rightList.size()) { checkPairIterator(left, right0, IntCollections.concatLists(leftList, leftSingle), rightList); checkPairIterator(left, right0, leftList, LongCollections.concatLists(rightList, rightSingle)); } } } }
public void testSimple() { LongList[] lists = {LongList.EMPTY, new LongList.Single(10), LongArray.create(0, 1, 2), LongProgression.Arithmetic.range(3), null}; for (LongList list : lists) { assertEquals(0, comparator.compare(list, list)); } assertEquals(-1, comparator.compare(null, LongArray.create(0, 1, 2))); assertEquals(0, comparator.compare(lists[2], lists[3])); assertEquals(0, comparator.compare(lists[2], lists[2].iterator())); } }