aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java')
-rw-r--r--src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
new file mode 100644
index 0000000..1e0ec24
--- /dev/null
+++ b/src/test/java/junitparams/naming/NamingStrategyIsUsedByRunnerTest.java
@@ -0,0 +1,48 @@
+package junitparams.naming;
+
+import org.junit.AfterClass;
+import org.junit.Test;
+import org.junit.runner.Description;
+import org.junit.runner.Request;
+import org.junit.runner.RunWith;
+
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+
+import static org.assertj.core.api.Assertions.*;
+
+@RunWith(JUnitParamsRunner.class)
+public class NamingStrategyIsUsedByRunnerTest {
+
+ @AfterClass
+ public static void checkTestCaseNames() {
+ Description rootDescription = getTestClassDescription();
+ String className = "(" + NamingStrategyIsUsedByRunnerTest.class.getCanonicalName() + ")";
+
+ Description sampleMethodDescription = getChildDescriptionByName(rootDescription, "sampleMethod");
+
+ assertThat(sampleMethodDescription.getChildren()).extracting("displayName").containsExactly(
+ "[0] Well formed name of sampleMethod with param1" + className,
+ "[1] Well formed name of sampleMethod with param2" + className);
+ }
+
+ @Test
+ @Parameters({"param1", "param2"})
+ @TestCaseName("[{index}] Well formed name of {method} with {params}")
+ public void sampleMethod(String parameter) {
+ }
+
+ private static Description getTestClassDescription() {
+ return Request.aClass(NamingStrategyIsUsedByRunnerTest.class).getRunner().getDescription();
+ }
+
+ private static Description getChildDescriptionByName(Description parent, String expectedName) {
+ for (Description childDescription : parent.getChildren()) {
+ if (expectedName.equals(childDescription.getDisplayName())) {
+ return childDescription;
+ }
+ }
+
+ return null;
+ }
+}