public void testUpdate() { int size = 100, maxVal = Integer.MAX_VALUE; for (int attempt = 0; attempt < 10; attempt++) { long[] array = generateRandomLongArray(size, UNORDERED, maxVal).extractHostArray(); for (WritableLongList list: createWritableLongLists(array)) { long[] values = Arrays.copyOf(array, array.length); if (!(list instanceof AbstractWritableLongList)) return; AbstractWritableLongList abstractList = (AbstractWritableLongList)list; int index = myRand.nextInt(size); abstractList.update(index, myRand.nextInt(), LongFunctions.NEG); values[index] = -values[index]; CHECK.order(abstractList, values); int count = myRand.nextInt(size); long value = myRand.nextInt(); abstractList.update(size + count, value, LongFunctions.NEG); assertEquals(size + count + 1, abstractList.size()); CHECK.order(abstractList.subList(0, size), values); int newSize = abstractList.size() - 1; CHECK.order(LongCollections.repeat(value, count), abstractList.subList(size, newSize)); assertEquals(abstractList.get(size + count), -value); } } }