From ea07fbcef796fdacd3110b41eec7a6c6e55044fc Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Wed, 14 Dec 2016 14:12:40 +0000 Subject: Partially revert "Patch to make it compile against JUnit 4.10 and run on Android" This partially reverts commit 6774bdc0447b72a618eab51772685010afd5647a. Bug: 33613916 Test: make checkbuild Change-Id: Iac008952ff1a0e6f89d8862e817a8b2480dcbb28 --- src/main/java/junitparams/JUnitParamsRunner.java | 5 +---- .../java/junitparams/internal/InvokeParameterisedMethod.java | 8 +------- src/main/java/junitparams/internal/TestMethod.java | 9 +++------ src/test/java/junitparams/internal/TestMethodTest.java | 4 +--- 4 files changed, 6 insertions(+), 20 deletions(-) diff --git a/src/main/java/junitparams/JUnitParamsRunner.java b/src/main/java/junitparams/JUnitParamsRunner.java index b77539c..fa37257 100644 --- a/src/main/java/junitparams/JUnitParamsRunner.java +++ b/src/main/java/junitparams/JUnitParamsRunner.java @@ -16,8 +16,6 @@ import junitparams.internal.ParameterisedTestClassRunner; import junitparams.internal.ParametrizedTestMethodsFilter; import junitparams.internal.TestMethod; -import static org.junit.internal.runners.rules.RuleFieldValidator.RULE_VALIDATOR; - /** *

JUnitParams


*

@@ -404,8 +402,7 @@ public class JUnitParamsRunner extends BlockJUnit4ClassRunner { @Override protected void collectInitializationErrors(List errors) { - // TODO(JUnit4.10) - super.validateFields() is private in JUnit 4.10 - so inline method - RULE_VALIDATOR.validate(getTestClass(), errors); + super.validateFields(errors); for (Throwable throwable : errors) throwable.printStackTrace(); } diff --git a/src/main/java/junitparams/internal/InvokeParameterisedMethod.java b/src/main/java/junitparams/internal/InvokeParameterisedMethod.java index ea4c98d..7d313c2 100644 --- a/src/main/java/junitparams/internal/InvokeParameterisedMethod.java +++ b/src/main/java/junitparams/internal/InvokeParameterisedMethod.java @@ -219,13 +219,7 @@ public class InvokeParameterisedMethod extends Statement { } boolean matchesDescription(Description description) { - // TODO(JUnit4.10) - because JUnit 4.10 has no separation of display name and unique method - // id, we need to do some mangling of the name to get a match - String displayName = description.getDisplayName(); - - int endIndex = displayName.lastIndexOf("(", displayName.length() - 1); - String uniqueName = (endIndex == - 1) ? displayName : displayName.substring(0, endIndex); - return uniqueName.equals(uniqueMethodId); + return description.hashCode() == uniqueMethodId.hashCode(); } @Override diff --git a/src/main/java/junitparams/internal/TestMethod.java b/src/main/java/junitparams/internal/TestMethod.java index 7eac3ae..6125803 100644 --- a/src/main/java/junitparams/internal/TestMethod.java +++ b/src/main/java/junitparams/internal/TestMethod.java @@ -103,13 +103,10 @@ public class TestMethod { for (int i = 0; i < params.length; i++) { Object paramSet = params[i]; String name = namingStrategy.getTestCaseName(i, paramSet); - // TODO(JUnit4.10) - Description.createTestDescription(Class, String, Serializable) - // is not available in JUnit 4.10. That means that it is not possible to - // differentiate between tests using a unique method id. Just use the name for now. - // There is a corresponding change in - // InvokeParameterisedMethod.matchesDescription(Description description). + String uniqueMethodId = Utils.uniqueMethodId(i, paramSet, name()); + parametrised.addChild( - Description.createTestDescription(testClass(), name) + Description.createTestDescription(testClass().getName(), name, uniqueMethodId) ); } return parametrised; diff --git a/src/test/java/junitparams/internal/TestMethodTest.java b/src/test/java/junitparams/internal/TestMethodTest.java index cceccbc..2964781 100644 --- a/src/test/java/junitparams/internal/TestMethodTest.java +++ b/src/test/java/junitparams/internal/TestMethodTest.java @@ -93,9 +93,7 @@ public class TestMethodTest { public void testVarargsCustomClass(Pair... pairs){ assertEquals(pairs[0].x, pairs[0].y); assertEquals(pairs[1].x, pairs[1].y); - // TODO(JUnit4.10) - assertNotEquals not in JUnit 4.10 - // assertNotEquals(pairs[2].x, pairs[2].y); - assertTrue(pairs[2].x != pairs[2].y); + assertNotEquals(pairs[2].x, pairs[2].y); } protected Object[] parametersForTestVarargsCustomClass(){ -- cgit v1.2.3