lel.listChanged(null);
rel.removeListEventListener(lel);
}
public void testRemoveAcrossRangeStart() {
final EventList el = EventLists.eventList();
prefillWithIntegers(el, 100);
final RangedEventList rel = createBackedRangedEventList(el);
rel.setStart(10);
rel.setMaxSize(10);
final List few = new ArrayList();
few.addAll(el.subList(9,12));
assertEquals(3, few.size());
ListEventListener lel = new ListEventListener() {
private int count = 0;
public void listChanged(final ListEvent listEvent) {
switch (count++) {
case 0:
assertEquals(ListEvent.createBatchStart(rel), listEvent);
break;
case 1:
assertEquals(ListEvent.createRemoved(rel, 0, 3), listEvent);
break;
case 2:
assertEquals(ListEvent.createAdded(rel, 7, 10), listEvent);
break;
case 3:
assertEquals(ListEvent.createBatchEnd(rel), listEvent);
break;
case 4:
assertNull(listEvent);
break;
default:
fail("Unexpected: " + listEvent);
}
}
};
rel.addListEventListener(lel);
el.removeAll(few);
lel.listChanged(null);
rel.removeListEventListener(lel);
rel.setMaxSize(Integer.MAX_VALUE);
few.clear();
few.addAll(el.subList(9,12));
assertEquals(3, few.size());
lel = new ListEventListener() {
private int count = 0;
public void listChanged(final ListEvent listEvent) {
switch (count++) {
case 0:
assertEquals(ListEvent.createBatchStart(rel), listEvent);
break;
case 1:
assertEquals(ListEvent.createRemoved(rel, 0, 3), listEvent);
break;
case 2:
assertEquals(ListEvent.createBatchEnd(rel), listEvent);
break;
case 3:
assertNull(listEvent);
break;
default:
fail("Unexpected: " + listEvent);
}
}
};
rel.addListEventListener(lel);
el.removeAll(few);
lel.listChanged(null);
rel.removeListEventListener(lel);
}