public void testExpandSimple() { long[] elements = {5, 10, 4, 2, 1}; for (int i = 0; i < elements.length; i++) { for (WritableLongList list: empty()) { list.addAll(elements); checkExpand(elements, i, 3, list); } } }
public void testAddThis() { int arraySize = 100; for (int attempt = 0; attempt < 10; attempt++) { for (WritableLongList list: empty()) { LongArray values = generateRandomLongArray(arraySize, UNORDERED); long[] nativeArray = new long[arraySize * 2]; values.toNativeArray(0, nativeArray, 0, arraySize); values.toNativeArray(0, nativeArray, arraySize, arraySize); list.addAll(values); list.addAll(list); checkCollection(list, nativeArray); } } }
public void testIteratorRemove() { for (WritableLongList list: empty()) { LongArray expected = LongArray.create(1, 2, 3, 5); list.addAll(1, 2, 3, 4, 5); for (WritableLongListIterator it : list.write()) { if (it.value() == 4) { it.remove(); checkJustRemoved(it); } } CHECK.order(expected, list); } }
public void testInsertAll() { for (WritableLongList list: empty()) { list.addAll(0); list.insertAll(1, LongArray.create(2, 4, 6).iterator()); checkCollection(list, 0, 2, 4, 6); list.insertAll(2, LongArray.create(-5, -10, -15)); checkCollection(list, 0, 2, -5, -10, -15, 4, 6); list.insertAll(0, LongArray.create(0, 99, 99, 0), 1, 2); checkCollection(list, 99, 99, 0, 2, -5, -10, -15, 4, 6); } }
public void testAdd() { for (WritableLongList list: empty()) { for (int j = 0; j < 2; j++) { list.addAll(0, 1, 2); checkCollection(list, 0, 1, 2); list.addAll(LongArray.create(3, 4, 5, 6)); checkCollection(list, 0, 1, 2, 3, 4, 5, 6); list.insert(3, 100); checkCollection(list, 0, 1, 2, 100, 3, 4, 5, 6); list.insertMultiple(1, -1, 3); checkCollection(list, 0, -1, -1, -1, 1, 2, 100, 3, 4, 5, 6); list.clear(); assertEquals(0, list.size()); CHECK.order(list); list.add(0); checkCollection(list, 0); list.add(0); checkCollection(list, 0, 0); list.clear(); for (int i = 0; i < 100; i++) { list.add(i); checkCollection(list, ap(0, i + 1, 1)); } list.addAll(list); checkCollection(list.subList(0, 100), ap(0, 100, 1)); checkCollection(list.subList(100, 200), ap(0, 100, 1)); list.clear(); } } }
public void testCopyInsertList() { for (WritableLongList list: empty()) { list.addAll(LongProgression.arithmetic(0, 10240, 1)); LongArray src = new LongArray(); src.addAll(list); list.insertAll(2000, src, 100, 10000); checkList(list, ap(0, 2000, 1), ap(100, 10000, 1), ap(2000, 8240, 1)); list.setAll(5000, src); checkList(list, ap(0, 2000, 1), ap(100, 3000, 1), ap(0, 10240, 1), ap(5240, 5000, 1)); } }
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 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 testRemoveAll() { for (WritableLongList list: empty()) { long[] values = {2, 0, 2, 1, 2, 2, 2, 2, 3, 2}; list.addAll(values); CHECK.order(list.iterator(), values); list.removeAll(); list.removeAll(2); CHECK.order(list.iterator(), 0, 1, 3); list.removeAll(2); CHECK.order(list.iterator(), 0, 1, 3); list.removeAll(0, 3); CHECK.order(list.iterator(), 1); list.removeAll(1); CHECK.empty(list); } }
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 testCopySubList() { for (WritableLongList list: empty()) { for (int i = 0; i < 10240; i++) { list.add(i); } list.addAll(list); checkList(list, ap(0, 10240, 1), ap(0, 10240, 1)); list.setAll(100, list, 100, 100); checkList(list, ap(0, 10240, 1), ap(0, 10240, 1)); list.setAll(100, list.subList(200, 300)); checkList(list, ap(0, 100, 1), ap(200, 100, 1), ap(200, 10040, 1), ap(0, 10240, 1)); list.insertAll(5000, list.subList(3000, 5000)); checkList(list, ap(0, 100, 1), ap(200, 100, 1), ap(200, 4800, 1), ap(3000, 2000, 1), ap(5000, 5240, 1), ap(0, 10240, 1)); } }