public void testAddRemoveListener() { DisposeListener listener = new DisposeListener() { public void widgetDisposed(final DisposeEvent event) { log += WIDGET_DISPOSED; } }; Display display = new Display(); Composite shell = new Shell(display, SWT.NONE); shell.addDisposeListener(listener); DisposeEvent event = new DisposeEvent(shell); event.processEvent(); assertEquals(WIDGET_DISPOSED, log); log = ""; shell.removeDisposeListener(listener); event = new DisposeEvent(shell); event.processEvent(); assertEquals("", log); }