@Test public void testDeleteDuplicatedFilters() { ColumnFilter columnFilter1 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilter columnFilter2 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilterEditor columnFilterEditor1 = mock(ColumnFilterEditor.class); ColumnFilterEditor columnFilterEditor2 = mock(ColumnFilterEditor.class); when(columnFilterEditor1.getFilter()).thenReturn(columnFilter1); when(columnFilterEditor2.getFilter()).thenReturn(columnFilter2); when(columnFilterEditorBeanDef.newInstance()).thenReturn(columnFilterEditor1, columnFilterEditor2); DataSetFilter filter = new DataSetFilter(); filter.addFilterColumn(columnFilter1, columnFilter2); DataSetFilterEditor filterEditor = new DataSetFilterEditor(filterView, beanManager, changedEvent); filterEditor.init(filter, metadata); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor2)); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor1)); assertEquals(filter.getColumnFilterList().size(), 0); verify(filterView).removeColumnFilterEditor(columnFilterEditor1); verify(filterView).removeColumnFilterEditor(columnFilterEditor2); verify(beanManager).destroyBean(columnFilterEditor1); verify(beanManager).destroyBean(columnFilterEditor2); verify(changedEvent, times(2)).fire(any(DataSetFilterChangedEvent.class)); } }
@Test public void testDeleteDuplicatedFilters() { ColumnFilter columnFilter1 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilter columnFilter2 = FilterFactory.notEqualsTo("column", "val1"); ColumnFilterEditor columnFilterEditor1 = mock(ColumnFilterEditor.class); ColumnFilterEditor columnFilterEditor2 = mock(ColumnFilterEditor.class); when(columnFilterEditor1.getFilter()).thenReturn(columnFilter1); when(columnFilterEditor2.getFilter()).thenReturn(columnFilter2); when(columnFilterEditorBeanDef.newInstance()).thenReturn(columnFilterEditor1, columnFilterEditor2); DataSetFilter filter = new DataSetFilter(); filter.addFilterColumn(columnFilter1, columnFilter2); DataSetFilterEditor filterEditor = new DataSetFilterEditor(filterView, beanManager, changedEvent); filterEditor.init(filter, metadata); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor2)); filterEditor.onColumnFilterDeleted(new ColumnFilterDeletedEvent(columnFilterEditor1)); assertEquals(filter.getColumnFilterList().size(), 0); verify(filterView).removeColumnFilterEditor(columnFilterEditor1); verify(filterView).removeColumnFilterEditor(columnFilterEditor2); verify(beanManager).destroyBean(columnFilterEditor1); verify(beanManager).destroyBean(columnFilterEditor2); verify(changedEvent, times(2)).fire(any(DataSetFilterChangedEvent.class)); } }