### Question:
DefaultEventTableViewer implements ListEventListener<E> { public void dispose() { tableHandler.dispose(); selection.dispose(); source.removeListEventListener(this); source.getPublisher().clearRelatedListener(selection.getSelectionList(), this); if (checkFilterList != null) { checkFilterList.dispose(); } if (originalSource != null) { originalSource.dispose(); } checkFilterList = null; tableHandler = null; selection = null; source = null; originalSource = null; } DefaultEventTableViewer(EventList<E> source, Table table, TableFormat<? super E> tableFormat);  DefaultEventTableViewer(EventList<E> source, Table table, TableFormat<? super E> tableFormat,
            TableItemConfigurer<? super E> tableItemConfigurer); protected  DefaultEventTableViewer(EventList<E> source, Table table, TableFormat<? super E> tableFormat,
            TableItemConfigurer<? super E> tableItemConfigurer, boolean disposeSource); TableFormat<? super E> getTableFormat(); void setTableFormat(TableFormat<? super E> tableFormat); TableItemConfigurer<? super E> getTableItemConfigurer(); void setTableItemConfigurer(TableItemConfigurer<? super E> tableItemConfigurer); Table getTable(); void setCheckedOnly(boolean checkedOnly); boolean getCheckedOnly(); List<E> getAllChecked(); EventList<E> getSourceList(); EventList<E> getDeselected(); EventList<E> getTogglingDeselected(); EventList<E> getSelected(); EventList<E> getTogglingSelected(); @Override void listChanged(ListEvent listChanges); void invertSelection(); void dispose();  }### Answer:
@Test public void testConstructorWithCheckableTable() { DefaultEventTableViewer<Integer> viewer = new DefaultEventTableViewer<>( new BasicEventList<Integer>(), new Table(getShell(), SWT.CHECK), new IntegerTableFormat()); viewer.dispose(); }
@Test public void testConstructorWithProxyListAndCheckableTable() { DefaultEventTableViewer<Integer> viewer = GlazedListsSWT.eventTableViewerWithThreadProxyList( new BasicEventList<Integer>(), new Table(getShell(), SWT.CHECK), new IntegerTableFormat()); viewer.dispose(); }
@Test public void testTableColumnConfigurer() { final EventList<Color> source = GlazedLists.eventList(RGBNull); final TableFormat<Color> tableFormat = new ColorTableFormat(); final Table table = new Table(getShell(), SWT.CHECK); DefaultEventTableViewer<Color> viewer = new DefaultEventTableViewer<>(source, table, tableFormat); checkColorTableFormatColumns(table); viewer.dispose(); }
@Test public void testBug413() { final BasicEventList<String> source = new BasicEventList<>(); for (int i = 0; i < 3; i++) { source.add("Str" + i); } final Table table = new Table(getShell(), SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); final DefaultEventTableViewer<String> viewer = new DefaultEventTableViewer<>(source, table, new SimpleTableFormat()); table.getItem(2).getBounds(); assertEquals(3, table.getItemCount()); assertEquals("Str0", table.getItem(0).getText(0)); assertEquals("Str1", table.getItem(1).getText(0)); assertEquals("Str2", table.getItem(2).getText(0)); viewer.dispose(); }