diff --git a/README.md b/README.md
index 05eca3d..f88e299 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,11 @@
# GeantyRef
+## Migrate to JUnit 5 with Symflower
+
+* Symflower version: 44511
+* Execution time: 1.9s
+* Diff: 11 files changed, 56 insertions(+), 44 deletions(-)
+
[](https://maven-badges.herokuapp.com/maven-central/io.leangen.geantyref/geantyref)
[](http://www.javadoc.io/doc/io.leangen.geantyref/geantyref)
[](https://travis-ci.org/leangen/geantyref)
diff --git a/pom.xml b/pom.xml
index 0ab78f8..b4bba23 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,9 +44,15 @@
- junit
- junit
- 4.13.2
+ org.junit.jupiter
+ junit-jupiter-api
+ 5.11.3
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.11.3
test
diff --git a/src/test/java/io/leangen/geantyref/AbstractGenericsReflectorTest.java b/src/test/java/io/leangen/geantyref/AbstractGenericsReflectorTest.java
index aa5e251..2cc8489 100644
--- a/src/test/java/io/leangen/geantyref/AbstractGenericsReflectorTest.java
+++ b/src/test/java/io/leangen/geantyref/AbstractGenericsReflectorTest.java
@@ -14,7 +14,7 @@
import java.util.List;
import java.util.RandomAccess;
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
//NOTE: It is important NOT to use <> (diamond) here! Something goes horribly wrong with type inference.
@SuppressWarnings("Convert2Diamond")
diff --git a/src/test/java/io/leangen/geantyref/AnnotationInvocationHandlerTest.java b/src/test/java/io/leangen/geantyref/AnnotationInvocationHandlerTest.java
index bd37d3c..2a62782 100644
--- a/src/test/java/io/leangen/geantyref/AnnotationInvocationHandlerTest.java
+++ b/src/test/java/io/leangen/geantyref/AnnotationInvocationHandlerTest.java
@@ -1,6 +1,6 @@
package io.leangen.geantyref;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
@@ -9,6 +9,7 @@
import static java.util.Collections.unmodifiableMap;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
public class AnnotationInvocationHandlerTest {
@Test
@@ -25,15 +26,17 @@ public void normalize() throws Exception {
assertThat(normalize, equalTo(values));
}
- @Test(expected = AnnotationFormatException.class)
+ @Test
public void normalizeWithBadValues() throws Exception {
- // Given
- Map values = new HashMap<>();
- values.put("aBoolean", "Some text");
- values.put("anInt", 42);
-
- // When
- AnnotationInvocationHandler.normalize(MyAnnotation.class, unmodifiableMap(values));
+ assertThrows(AnnotationFormatException.class, () -> {
+ // Given
+ Map values = new HashMap<>();
+ values.put("aBoolean", "Some text");
+ values.put("anInt", 42);
+
+ // When
+ AnnotationInvocationHandler.normalize(MyAnnotation.class, unmodifiableMap(values));
+ });
}
@Test
diff --git a/src/test/java/io/leangen/geantyref/AnnotationsMergeTest.java b/src/test/java/io/leangen/geantyref/AnnotationsMergeTest.java
index d83c2fe..564cec6 100644
--- a/src/test/java/io/leangen/geantyref/AnnotationsMergeTest.java
+++ b/src/test/java/io/leangen/geantyref/AnnotationsMergeTest.java
@@ -5,7 +5,7 @@
package io.leangen.geantyref;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedArrayType;
@@ -23,10 +23,10 @@
import static io.leangen.geantyref.Annotations.A3;
import static io.leangen.geantyref.Annotations.A4;
import static io.leangen.geantyref.Annotations.A5;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Tests if type-use annotations from different locations are inherited and merged correctly.
@@ -105,7 +105,7 @@ public void classAnnotationsMergeTest() throws NoSuchFieldException {
public void classAnnotationsNonPropagationTest() {
AnnotatedType number = GenericTypeReflector.getExactSuperType(A1_LONG, Number.class);
assertNotNull(number);
- assertTrue("Class annotations are not propagated upwards", number.getAnnotations().length == 0);
+ assertTrue(number.getAnnotations().length == 0, "Class annotations are not propagated upwards");
}
@Test
diff --git a/src/test/java/io/leangen/geantyref/Assertions.java b/src/test/java/io/leangen/geantyref/Assertions.java
index dd6fded..b2c8b68 100644
--- a/src/test/java/io/leangen/geantyref/Assertions.java
+++ b/src/test/java/io/leangen/geantyref/Assertions.java
@@ -8,9 +8,9 @@
import java.util.Set;
import java.util.stream.Collectors;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class Assertions {
@@ -33,7 +33,7 @@ public static void assertTypeIsRecursive(AnnotatedParameterizedType type) {
.filter(arg -> arg instanceof AnnotatedTypeVariable)
.map(arg -> (AnnotatedTypeVariable) arg)
.collect(Collectors.toCollection(() -> Collections.newSetFromMap(new IdentityHashMap<>())));
- assertTrue("Variable " + type + " does not recur within given depth", isRecursive(roots, type, 0, 10));
+ assertTrue(isRecursive(roots, type, 0, 10), "Variable " + type + " does not recur within given depth");
}
private static boolean isRecursive(Set roots, AnnotatedType node, int currentDepth, int maxDepth) {
diff --git a/src/test/java/io/leangen/geantyref/GenTyRefReflectionStrategy.java b/src/test/java/io/leangen/geantyref/GenTyRefReflectionStrategy.java
index 98d819e..bbe30f4 100644
--- a/src/test/java/io/leangen/geantyref/GenTyRefReflectionStrategy.java
+++ b/src/test/java/io/leangen/geantyref/GenTyRefReflectionStrategy.java
@@ -9,7 +9,7 @@
import java.lang.reflect.Method;
import java.lang.reflect.Type;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
class GenTyRefReflectionStrategy extends AbstractReflectionStrategy {
public boolean isSupertype(Type superType, Type subType) {
diff --git a/src/test/java/io/leangen/geantyref/Issue17Test.java b/src/test/java/io/leangen/geantyref/Issue17Test.java
index 1bffea0..36c92cb 100644
--- a/src/test/java/io/leangen/geantyref/Issue17Test.java
+++ b/src/test/java/io/leangen/geantyref/Issue17Test.java
@@ -5,12 +5,12 @@
package io.leangen.geantyref;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.lang.reflect.Method;
import java.util.Set;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
/*
* https://github.com/leangen/geantyref/issues/17
@@ -23,9 +23,9 @@ public void testTypeTokenEqualityAndHashCode() throws NoSuchMethodException {
Method method = Issue17Test.class.getDeclaredMethod("dummyMethod", Set.class);
TypeToken> otherTypeToken = TypeToken.get(method.getParameters()[0].getParameterizedType());
- assertEquals("Both TypeTokens should be equal", numberTypeToken, otherTypeToken);
- assertEquals("Both TypeTokens should have equal types", numberTypeToken.getType(), otherTypeToken.getType());
- assertEquals("Both TypeTokens should have equal hash codes", numberTypeToken.hashCode(), otherTypeToken.hashCode());
+ assertEquals(numberTypeToken, otherTypeToken, "Both TypeTokens should be equal");
+ assertEquals(numberTypeToken.getType(), otherTypeToken.getType(), "Both TypeTokens should have equal types");
+ assertEquals(numberTypeToken.hashCode(), otherTypeToken.hashCode(), "Both TypeTokens should have equal hash codes");
}
@SuppressWarnings("unused")
diff --git a/src/test/java/io/leangen/geantyref/Issue20Test.java b/src/test/java/io/leangen/geantyref/Issue20Test.java
index 185349c..57bad35 100644
--- a/src/test/java/io/leangen/geantyref/Issue20Test.java
+++ b/src/test/java/io/leangen/geantyref/Issue20Test.java
@@ -5,7 +5,7 @@
package io.leangen.geantyref;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedParameterizedType;
@@ -14,10 +14,10 @@
import java.util.Arrays;
import static io.leangen.geantyref.Annotations.*;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* reduceBounded StackOverflowError with self-recursing capture
diff --git a/src/test/java/io/leangen/geantyref/Issue27Test.java b/src/test/java/io/leangen/geantyref/Issue27Test.java
index a59e186..74b7b10 100644
--- a/src/test/java/io/leangen/geantyref/Issue27Test.java
+++ b/src/test/java/io/leangen/geantyref/Issue27Test.java
@@ -6,7 +6,7 @@
package io.leangen.geantyref;
import io.leangen.geantyref.Annotations.*;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.lang.reflect.*;
import java.util.Map;
@@ -15,6 +15,7 @@
import static io.leangen.geantyref.Assertions.assertAnnotationsPresent;
import static io.leangen.geantyref.Assertions.assertEqualTypeVariables;
import static io.leangen.geantyref.Assertions.assertTypeIsRecursive;
+import static org.junit.jupiter.api.Assertions.assertThrows;
/**
* StackOverflowError in VarMap.map when calling GenericTypeReflector.getParameterTypes()
@@ -46,11 +47,13 @@ public void getParameterTypesOnRecursiveType() throws NoSuchMethodException {
}
}
- @Test(expected = UnresolvedTypeVariableException.class)
+ @Test
public void getExactParameterTypesOnRecursiveType() throws NoSuchMethodException {
- Class> cls = SelfReferential.class;
- Method method = reflectSelfRefMethod(cls);
- GenericTypeReflector.getExactParameterTypes(method, cls);
+ assertThrows(UnresolvedTypeVariableException.class, () -> {
+ Class> cls = SelfReferential.class;
+ Method method = reflectSelfRefMethod(cls);
+ GenericTypeReflector.getExactParameterTypes(method, cls);
+ });
}
private static Method reflectSelfRefMethod(Class> cls) throws NoSuchMethodException {
diff --git a/src/test/java/io/leangen/geantyref/ToStringTest.java b/src/test/java/io/leangen/geantyref/ToStringTest.java
index 79f0b95..a963f4c 100644
--- a/src/test/java/io/leangen/geantyref/ToStringTest.java
+++ b/src/test/java/io/leangen/geantyref/ToStringTest.java
@@ -7,7 +7,7 @@
import io.leangen.geantyref.Annotations.A3;
import io.leangen.geantyref.Annotations.A4;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.Serializable;
import java.lang.annotation.Annotation;
@@ -17,8 +17,8 @@
import java.util.List;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class ToStringTest {
diff --git a/src/test/java/io/leangen/geantyref/factory/TypeFactoryTest.java b/src/test/java/io/leangen/geantyref/factory/TypeFactoryTest.java
index 013694c..75ed137 100644
--- a/src/test/java/io/leangen/geantyref/factory/TypeFactoryTest.java
+++ b/src/test/java/io/leangen/geantyref/factory/TypeFactoryTest.java
@@ -20,8 +20,8 @@
import java.util.*;
import static io.leangen.geantyref.TypeFactory.*;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
public class TypeFactoryTest extends TestCase {
private static final Type GENERICOUTER_STRING = new TypeToken>() {