public void testRemoveAllListChangeEvent() throws Exception { List elements = Arrays.asList(new String[] {"1", "2"}); list.addAll(elements); list.addAll(elements); ListChangeEventTracker listener = new ListChangeEventTracker(); list.addListChangeListener(listener); assertEquals(0, listener.count); list.removeAll(elements); ListChangeEvent event = listener.event; assertEquals(list, event.getObservableList()); assertSame(list, event.getObservableList()); assertDiff( event.diff, Arrays.asList(new Object[] {"1", "2", "1", "2"}), Collections.EMPTY_LIST); }
public void testAddListChangeEvent() throws Exception { ListChangeEventTracker listener = new ListChangeEventTracker(); list.addListChangeListener(listener); assertEquals(0, listener.count); String element = "1"; list.add(element); assertEquals(1, listener.count); ListChangeEvent event = listener.event; assertSame(list, event.getObservableList()); assertDiff(event.diff, Collections.EMPTY_LIST, Collections.singletonList("1")); }
public void testSetListChangeEvent() throws Exception { String oldElement = "old"; String newElement = "new"; list.add(oldElement); ListChangeEventTracker listener = ListChangeEventTracker.observe(list); assertEquals(0, listener.count); list.set(0, newElement); assertEquals(1, listener.count); ListChangeEvent event = listener.event; assertSame(list, event.getObservableList()); assertDiff( event.diff, Collections.singletonList(oldElement), Collections.singletonList(newElement)); }
public void testRetainAllListChangeEvent() throws Exception { List elements = Arrays.asList(new String[] {"0", "1", "2", "3"}); list.addAll(elements); ListChangeEventTracker listener = new ListChangeEventTracker(); list.addListChangeListener(listener); assertEquals(0, listener.count); list.retainAll(elements.subList(0, 2)); assertEquals(1, listener.count); ListChangeEvent event = listener.event; assertSame(list, event.getObservableList()); assertDiff( event.diff, Arrays.asList(new Object[] {"0", "1", "2", "3"}), Arrays.asList(new Object[] {"0", "1"})); }