diff options
Diffstat (limited to 'src/test/java/junitparams/FilterableTest.java')
-rw-r--r-- | src/test/java/junitparams/FilterableTest.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/java/junitparams/FilterableTest.java b/src/test/java/junitparams/FilterableTest.java index 05b2b4c..97e1ea4 100644 --- a/src/test/java/junitparams/FilterableTest.java +++ b/src/test/java/junitparams/FilterableTest.java @@ -6,6 +6,7 @@ import org.junit.runner.JUnitCore; import org.junit.runner.Request; import org.junit.runner.Result; import org.junit.runner.manipulation.Filter; +import org.junit.runner.manipulation.NoTestsRemainException; import static org.assertj.core.api.Assertions.*; @@ -58,6 +59,20 @@ public class FilterableTest { assertThat(description.getChildren().get(0).getChildren()).hasSize(2); } + @Test + public void shouldApplyFiltersCumulatively() throws Exception { + JUnitParamsRunner runner = new JUnitParamsRunner(SampleTestCase.class); + // Remove the first method. + new SingleMethodFilter("firstTestMethod").apply(runner); + try { + // Now remove all instances of the second method. + new SingleMethodFilter("secondTestMethod").apply(runner); + fail("Filtering did not apply cumulatively"); + } catch (NoTestsRemainException expected) { + // expected + } + } + private Request requestSingleMethodRun(Class<SampleTestCase> clazz, String methodName) { return Request.aClass(clazz).filterWith(new SingleMethodFilter(methodName)); } |