| package org.junit.experimental.categories; |
| |
| import static org.hamcrest.CoreMatchers.instanceOf; |
| import static org.hamcrest.MatcherAssert.assertThat; |
| import static org.junit.runner.Description.createSuiteDescription; |
| |
| import java.util.List; |
| |
| import org.junit.Rule; |
| import org.junit.Test; |
| import org.junit.rules.ExpectedException; |
| import org.junit.rules.TestName; |
| import org.junit.runner.Description; |
| import org.junit.runner.FilterFactory; |
| import org.junit.runner.FilterFactoryParams; |
| import org.junit.runner.manipulation.Filter; |
| |
| public class CategoryFilterFactoryTest { |
| @Rule |
| public ExpectedException expectedException = ExpectedException.none(); |
| |
| @Rule |
| public TestName testName = new TestName(); |
| |
| private final CategoryFilterFactory categoryFilterFactory = new CategoryFilterFactoryStub(); |
| |
| @Test |
| public void shouldCreateFilter() throws Exception { |
| FilterFactoryParams params = new FilterFactoryParams( |
| createSuiteDescription(testName.getMethodName()), |
| CategoryFilterFactoryStub.class.getName()); |
| Filter filter = categoryFilterFactory.createFilter(params); |
| |
| assertThat(filter, instanceOf(DummyFilter.class)); |
| } |
| |
| @Test |
| public void shouldThrowException() throws Exception { |
| FilterFactoryParams params = new FilterFactoryParams( |
| createSuiteDescription(testName.getMethodName()), |
| "NonExistentFilter"); |
| |
| expectedException.expect(FilterFactory.FilterNotCreatedException.class); |
| |
| categoryFilterFactory.createFilter(params); |
| } |
| |
| private static class CategoryFilterFactoryStub extends CategoryFilterFactory { |
| @Override |
| protected Filter createFilter(List<Class<?>> categories) { |
| return new DummyFilter(); |
| } |
| } |
| |
| private static class DummyFilter extends Filter { |
| @Override |
| public boolean shouldRun(Description description) { |
| return false; |
| } |
| |
| @Override |
| public String describe() { |
| return null; |
| } |
| } |
| } |