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 testIteratorWrite2() { long[] values = {1, 1, 1, 2, 2, 3, 3}; long[] newValues = {2, 5, 5, -1, -1, -1, 4}; assert values.length == newValues.length; for (int i = 0; i < values.length; i++) { for (WritableLongList list : createWritableLongLists(values)) { WritableLongListIterator it = list.iterator(); it.move(i); for (int j = 0; j < values.length; j++) { it.set(-i + j + 1, newValues[j]); } checkCollection(list, newValues); } } }
protected void checkExpand(long[] expected, int index, int count, WritableLongList checked) { assert index <= expected.length; checked.expand(index, count); assertEquals(expected.length + count, checked.size()); LongListIterator it = checked.iterator(); for (int i = 0; i < index; i++) { assertEquals(expected[i], it.nextValue()); } it.move(count); for (int i = index; i < expected.length; i++) { assertEquals(expected[i], it.nextValue()); } }
public void testPut() { myMap.clear(); for (int i = 4; 0 <= i; i--) { myMap.put(i*2, i * 10 + 1); } LongList expectedKeys = LongArray.create(0, 2, 4, 6, 8); WritableLongList expectedValues= LongArray.create(1, 11, 21, 31, 41); CHECK.order(myMap.keysIterator(0, myMap.size()), expectedKeys.iterator()); CHECK.order(myMap.valuesIterator(0, myMap.size()), expectedValues.iterator()); myMap.put(0, -1); expectedValues.set(0, -1); CHECK.order(myMap.valuesIterator(0, myMap.size()), expectedValues.iterator()); }
public void testIteratorSkip() { for (WritableLongList list: empty()) { for (int i = 0; i < 10000; i++) list.add(i); WritableLongListIterator ii = list.iterator(); for (int i = 0; i < 100; i++) { assertTrue(ii.hasNext()); assertEquals(100 * i, ii.nextValue()); ii.move(99); } assertFalse(ii.hasNext()); } }
public void testIteratorRemoveFromEnd() { for (WritableLongList list: empty()) { for (int i = 0; i < 10000; i++) list.add(i); WritableLongListIterator ii = list.iterator(8191, 9192); ii.nextValue(); while (ii.hasNext()) { ii.nextValue(); ii.remove(); checkJustRemoved(ii); } checkList(list, ap(0, 8192, 1), ap(9192, 808, 1)); } }
@Override protected void checkExpand(long[] expected, int index, int count, WritableLongList checked) { assert index <= expected.length; checked.expand(index, count); assertEquals(expected.length + count, checked.size()); LongListIterator it = checked.iterator(); for (int i = 0; i < index; i++) { assertEquals(expected[i], it.nextValue()); } for (int i = 0; i < count; i++) { assertEquals(expected[index], it.nextValue()); } for (int i = index; i < expected.length; i++) { assertEquals(expected[i], it.nextValue()); } }
public void testIteratorRemove2() { for (WritableLongList list: createWritableLongLists(ap(0, 10, 1))) { WritableLongListIterator it = list.iterator(); it.next().next().next().next(); assertEquals(3, it.value()); it.remove(); checkJustRemoved(it); assertEquals(4, it.nextValue()); } }
public void testIteratorRemove3() { for (WritableLongList list: createWritableLongLists(ap(0, 10, 1))) { WritableLongListIterator it = list.iterator(); it.next().next(); it.remove(); checkJustRemoved(it); assertEquals(2, it.nextValue()); it.move(7); assertEquals(9, it.value()); it.remove(); assertFalse(it.hasValue()); checkCollection(list, 0, 2, 3, 4, 5, 6, 7, 8); } }
public void testIteratorRemoveRange() { for (WritableLongList list: empty()) { for (int i = 0; i < 10000; i++) list.add(i); WritableLongListIterator ii = list.iterator(100, 600); for (int i = 0; i < 10; i++) ii.nextValue(); ii.removeRange(-9, 1); checkJustRemoved(ii); try { ii.removeRange(-9, 1); fail(); } catch (IllegalStateException e) {} ii.next(); ii.move(19); ii.removeRange(-9, 1); checkJustRemoved(ii); checkList(list, ap(0, 100, 1), ap(110, 10, 1), ap(130, 9870, 1)); ii.next(); ii.removeRange(-10, 0); checkJustRemoved(ii); checkList(list, ap(0, 100, 1), ap(130, 9870, 1)); } }