protected void checkRemovedIndexes(final AbstractLongListRemovingDecorator rem, int... expected) { if (expected == null) expected = IntegersUtils.EMPTY_INTS; CHECK.order(rem.removedIndexIterator(), expected); LongList base = rem.getBase(); for (int i = 0; i < base.size(); i++) { boolean removed = rem.isRemovedAt(i); boolean kept = IntCollections.indexOf(i, expected) < 0; assertTrue(String.valueOf(i), removed != kept); int newIndex = rem.getNewIndex(i); if (removed) assertEquals(-1, newIndex); else { assertTrue(newIndex >= 0); assertEquals(base.get(i), rem.get(newIndex)); } } boolean res = rem.iterate(0, rem.size(), new AbstractLongListDecorator.LongVisitor() { int index = -1; public boolean accept(long value, LongList source) { index++; assertEquals(rem.get(index), value); assertSame(rem.getBase(), source); return true; } }); assertTrue(res); }