aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/junitparams
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/junitparams')
-rw-r--r--src/test/java/junitparams/FilterableTest.java15
-rw-r--r--src/test/java/junitparams/ParametersReaderProvidersTest.java5
-rw-r--r--src/test/java/junitparams/internal/TestMethodTest.java6
-rw-r--r--src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java4
-rw-r--r--src/test/java/junitparams/usage/person_example/PersonTest.java3
5 files changed, 27 insertions, 6 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));
}
diff --git a/src/test/java/junitparams/ParametersReaderProvidersTest.java b/src/test/java/junitparams/ParametersReaderProvidersTest.java
index c4a2bb8..8b4297f 100644
--- a/src/test/java/junitparams/ParametersReaderProvidersTest.java
+++ b/src/test/java/junitparams/ParametersReaderProvidersTest.java
@@ -1,6 +1,5 @@
package junitparams;
-import junitparams.internal.ParameterisedTestMethodRunner;
import junitparams.internal.TestMethod;
import org.junit.Rule;
import org.junit.Test;
@@ -34,11 +33,11 @@ public class ParametersReaderProvidersTest {
@Test
public void shouldPutProviderClassNameInExceptionMessageForProviderWithNoValidMethods() {
- ParameterisedTestMethodRunner runner = new ParameterisedTestMethodRunner(getTestMethodWithInvalidProvider());
+ TestMethod testMethod = getTestMethodWithInvalidProvider();
exception.expect(RuntimeException.class);
exception.expectMessage(ProviderClassWithNoValidMethods.class.getName());
- runner.method.parametersSets();
+ testMethod.parametersSets();
}
private TestMethod getTestMethodWithInvalidProvider() {
diff --git a/src/test/java/junitparams/internal/TestMethodTest.java b/src/test/java/junitparams/internal/TestMethodTest.java
index abfe5a3..62dc242 100644
--- a/src/test/java/junitparams/internal/TestMethodTest.java
+++ b/src/test/java/junitparams/internal/TestMethodTest.java
@@ -46,7 +46,7 @@ public class TestMethodTest {
public void flatTestMethodStructure() throws Exception {
System.setProperty("JUnitParams.flat", "true");
- Description description = plainTestMethod.describe();
+ Description description = plainTestMethod.describableFrameworkMethod().getDescription();
assertEquals("for_others_to_work(junitparams.internal.TestMethodTest)", description.getDisplayName());
assertTrue(description.getChildren().isEmpty());
@@ -60,7 +60,7 @@ public class TestMethodTest {
@Test
public void hierarchicalTestMethodStructure() throws Exception {
System.clearProperty("JUnitParams.flat");
- Description description = plainTestMethod.describe();
+ Description description = plainTestMethod.describableFrameworkMethod().getDescription();
assertEquals("forOthersToWork", description.getDisplayName());
assertEquals("[0] a (forOthersToWork)(junitparams.internal.TestMethodTest)", description.getChildren().get(0).getDisplayName());
@@ -73,7 +73,7 @@ public class TestMethodTest {
@Test
public void hierarchicalArrayTestMethodStructure() throws Exception {
System.clearProperty("JUnitParams.flat");
- Description description = arrayTestMethod.describe();
+ Description description = arrayTestMethod.describableFrameworkMethod().getDescription();
assertEquals("forOthersToWorkWithArray", description.getDisplayName());
assertEquals("[0] a,b (forOthersToWorkWithArray)(junitparams.internal.TestMethodTest)",
diff --git a/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
index 1e0ec24..effda7f 100644
--- a/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
+++ b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
@@ -1,6 +1,7 @@
package junitparams.naming;
import org.junit.AfterClass;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.Description;
import org.junit.runner.Request;
@@ -26,6 +27,9 @@ public class NamingStrategyIsUsedByRunnerTest {
"[1] Well formed name of sampleMethod with param2" + className);
}
+ // Android-changed: CTS and AndroidJUnitRunner rely on specific format to test names, changing
+ // them will prevent CTS and AndroidJUnitRunner from working properly; see b/36541809
+ @Ignore
@Test
@Parameters({"param1", "param2"})
@TestCaseName("[{index}] Well formed name of {method} with {params}")
diff --git a/src/test/java/junitparams/usage/person_example/PersonTest.java b/src/test/java/junitparams/usage/person_example/PersonTest.java
index 927204e..b9f15c5 100644
--- a/src/test/java/junitparams/usage/person_example/PersonTest.java
+++ b/src/test/java/junitparams/usage/person_example/PersonTest.java
@@ -56,6 +56,9 @@ public class PersonTest {
}
}
+ // Android-changed: CTS and AndroidJUnitRunner rely on specific format to test names, changing
+ // them will prevent CTS and AndroidJUnitRunner from working properly; see b/36541809
+ @Ignore
@Test
@Parameters(method = "adultValues")
@TestCaseName("Is person with age {0} adult? It's {1} statement.")