@Test public void testRemoveFiltersFromComposite() { final Filter filter1 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter filter2 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter compositeFilter = CompositeFilter.createFilters(new Filter[]{filter1, filter2}); final Filter anotherFilter = ThresholdFilter.createFilter(Level.WARN, null, null); filterable.addFilter(compositeFilter); filterable.addFilter(anotherFilter); assertEquals(3, ((CompositeFilter) filterable.getFilter()).getFilters().size()); filterable.removeFilter(filter1); assertEquals(2, ((CompositeFilter) filterable.getFilter()).getFilters().size()); filterable.removeFilter(filter2); assertSame(anotherFilter, filterable.getFilter()); }
@Test public void testAddMultipleSimpleFilters() throws Exception { final Filter filter = ThresholdFilter.createFilter(Level.ERROR, null, null); filterable.addFilter(filter); assertSame(filter, filterable.getFilter()); // adding a second filter converts the filter // into a CompositeFilter.class filterable.addFilter(filter); assertTrue(filterable.getFilter() instanceof CompositeFilter); assertEquals(2, ((CompositeFilter) filterable.getFilter()).getFilters().size()); }
@Test public void testAddMultipleEqualSimpleFilter() throws Exception { final Filter filter = new EqualFilter("test"); filterable.addFilter(filter); assertSame(filter, filterable.getFilter()); // adding a second filter converts the filter // into a CompositeFilter.class filterable.addFilter(filter); assertTrue(filterable.getFilter() instanceof CompositeFilter); assertEquals(2, ((CompositeFilter) filterable.getFilter()).getFilters().size()); }
@Test public void testRemoveSimpleFilterFromCompositeAndSimpleFilter() { final Filter filter1 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter filter2 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter compositeFilter = CompositeFilter.createFilters(new Filter[]{filter1, filter2}); final Filter anotherFilter = ThresholdFilter.createFilter(Level.WARN, null, null); filterable.addFilter(compositeFilter); filterable.addFilter(anotherFilter); // should not remove internal filter of compositeFilter filterable.removeFilter(anotherFilter); assertTrue(filterable.getFilter() instanceof CompositeFilter); assertEquals(2, ((CompositeFilter) filterable.getFilter()).getFilters().size()); }
@Test public void testAddMultipleCompositeFilters() throws Exception { final Filter filter1 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter filter2 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter filter3 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter compositeFilter = CompositeFilter.createFilters(new Filter[]{filter1, filter2, filter3}); filterable.addFilter(compositeFilter); assertSame(compositeFilter, filterable.getFilter()); // adding a second filter converts the filter // into a CompositeFilter.class filterable.addFilter(compositeFilter); assertTrue(filterable.getFilter() instanceof CompositeFilter); assertEquals(6, ((CompositeFilter) filterable.getFilter()).getFilters().size()); }
@Test public void testAddSimpleFilterAndCompositeFilter() throws Exception { final Filter filter1 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter filter2 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter notInCompositeFilterFilter = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter compositeFilter = CompositeFilter.createFilters(new Filter[]{filter1, filter2}); filterable.addFilter(notInCompositeFilterFilter); assertSame(notInCompositeFilterFilter, filterable.getFilter()); // adding a second filter converts the filter // into a CompositeFilter.class filterable.addFilter(compositeFilter); assertTrue(filterable.getFilter() instanceof CompositeFilter); assertEquals(2, ((CompositeFilter) filterable.getFilter()).getFilters().size()); }
@Test public void testAddCompositeFilterAndSimpleFilter() throws Exception { final Filter filter1 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter filter2 = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter notInCompositeFilterFilter = ThresholdFilter.createFilter(Level.ERROR, null, null); final Filter compositeFilter = CompositeFilter.createFilters(new Filter[]{filter1, filter2}); filterable.addFilter(compositeFilter); assertSame(compositeFilter, filterable.getFilter()); // adding a second filter converts the filter // into a CompositeFilter.class filterable.addFilter(notInCompositeFilterFilter); assertTrue(filterable.getFilter() instanceof CompositeFilter); assertEquals(3, ((CompositeFilter) filterable.getFilter()).getFilters().size()); }
@Test public void testRemoveSimpleEqualFilterFromMultipleSimpleFilters() throws Exception { final Filter filterOriginal = new EqualFilter("test"); final Filter filterCopy = new EqualFilter("test"); filterable.addFilter(filterOriginal); filterable.addFilter(filterOriginal); filterable.addFilter(filterCopy); filterable.removeFilter(filterCopy); assertTrue(filterable.getFilter() instanceof CompositeFilter); assertEquals(2, ((CompositeFilter) filterable.getFilter()).getFilters().size()); filterable.removeFilter(filterCopy); assertEquals(filterOriginal, filterable.getFilter()); filterable.removeFilter(filterOriginal); assertNull(filterable.getFilter()); }