You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2018/09/26 13:39:35 UTC

[05/45] wicket git commit: - upgrade junit4 with junit5 in wicket-util - replace Junit4 Methods in WicketTester.java - remove junit 4 dependencies in pom.xml

- upgrade junit4 with junit5 in wicket-util
- replace Junit4 Methods in WicketTester.java
- remove junit 4 dependencies in pom.xml


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/978ea5cb
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/978ea5cb
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/978ea5cb

Branch: refs/heads/master
Commit: 978ea5cb9a01dcb9ad192a9413d9a18db35b8ca5
Parents: de2aedd
Author: renoth <jo...@gmx.de>
Authored: Tue Jul 31 12:32:49 2018 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Sep 26 15:36:17 2018 +0300

----------------------------------------------------------------------
 pom.xml                                         |  18 +-
 wicket-core/pom.xml                             |  12 +-
 .../apache/wicket/util/tester/WicketTester.java | 488 ++++++++++---------
 wicket-util/pom.xml                             |  13 +-
 .../license/AbstractLicenseHeaderHandler.java   | 103 ++--
 .../license/ApacheLicenseHeaderTestCase.java    | 307 ++++++------
 .../util/license/CssLicenseHeaderHandler.java   |   4 +-
 .../util/license/JavaLicenseHeaderHandler.java  |  10 +-
 .../license/PropertiesLicenseHeaderHandler.java |  10 +-
 .../license/VelocityLicenseHeaderHandler.java   |  10 +-
 .../util/license/XmlLicenseHeaderHandler.java   |  19 +-
 .../util/license/XmlPrologHeaderHandler.java    |  19 +-
 .../markup/xhtml/WellFormedXmlTestCase.java     |  18 +-
 .../org/apache/wicket/util/LongEncoderTest.java |  10 +-
 .../wicket/util/collections/IntHashMapTest.java |  16 +-
 .../wicket/util/collections/MicroMapTest.java   |  13 +-
 .../wicket/util/collections/MiniMapTest.java    |  13 +-
 .../collections/MostRecentlyUsedMapTest.java    |   6 +-
 .../collections/ReverseListIteratorTest.java    |   7 +-
 .../converter/BigIntegerConverterTest.java      |  19 +-
 .../converter/LocalDateConverterTest.java       |  14 +-
 .../converter/LocalDateTimeConverterTest.java   |  14 +-
 .../converter/LocalTimeConverterTest.java       |  14 +-
 .../converter/ZonedDateTimeConverterTest.java   |  14 +-
 .../apache/wicket/util/crypt/Base64Test.java    |   7 +-
 .../wicket/util/crypt/SunJceCryptTest.java      |  19 +-
 ...UnlimitedStrengthJurisdictionPolicyTest.java |  23 +-
 .../wicket/util/encoding/UrlDecoderTest.java    |   4 +-
 .../wicket/util/encoding/UrlEncoderTest.java    |  11 +-
 .../org/apache/wicket/util/file/FilesTest.java  | 131 ++---
 .../apache/wicket/util/file/WebXmlFileTest.java |  14 +-
 .../apache/wicket/util/io/ConnectionsTest.java  |  19 +-
 .../apache/wicket/util/io/LastModifiedTest.java |  11 +-
 .../apache/wicket/util/io/XmlReaderTest.java    |   8 +-
 .../org/apache/wicket/util/lang/ArgsTest.java   |  25 +-
 .../org/apache/wicket/util/lang/BytesTest.java  |  53 +-
 .../apache/wicket/util/lang/ClassesTest.java    |   7 +-
 .../apache/wicket/util/lang/NumbersTest.java    |   7 +-
 .../apache/wicket/util/lang/ObjectsTest.java    |   7 +-
 .../apache/wicket/util/lang/PackagesTest.java   |   7 +-
 .../apache/wicket/util/lang/PrimitivesTest.java |  28 +-
 .../util/parse/metapattern/MetaPatternTest.java |  12 +-
 .../parsers/VariableAssignmentParserTest.java   |   7 +-
 .../wicket/util/resource/ResourceUtilsTest.java |  34 +-
 .../org/apache/wicket/util/size/BytesTest.java  |  19 +-
 .../util/string/AppendingStringBufferTest.java  |   9 +-
 .../util/string/PrependingStringBufferTest.java |   8 +-
 .../wicket/util/string/StringListTest.java      |   7 +-
 .../wicket/util/string/StringValueTest.java     |  48 +-
 .../apache/wicket/util/string/StringsTest.java  |  48 +-
 .../interpolator/VariableInterpolatorTest.java  |   8 +-
 .../apache/wicket/util/time/DurationTest.java   |  13 +-
 .../apache/wicket/util/time/TimeFrameTest.java  |  27 +-
 .../apache/wicket/util/time/TimeMapTest.java    |   7 +-
 .../apache/wicket/util/time/TimeOfDayTest.java  |   8 +-
 .../org/apache/wicket/util/time/TimeTest.java   |   6 +-
 .../apache/wicket/util/value/LongValueTest.java |   6 +-
 .../apache/wicket/util/value/ValueMapTest.java  |   9 +-
 .../wicket/util/visit/AllVisitFilterTest.java   |   7 +-
 .../wicket/util/visit/ClassVisitFilterTest.java |   8 +-
 60 files changed, 937 insertions(+), 906 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0e8297d..8edc8af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,7 +125,7 @@
 		<cglib.version>3.2.8</cglib.version>
 		<jacoco.version>0.8.2</jacoco.version>
 		<jetty.version>9.4.12.v20180830</jetty.version>
-		<junit.version>4.12</junit.version>
+		<junit.version>5.2.0</junit.version>
 		<spring.version>5.1.0.RELEASE</spring.version>
 		<servlet-api.version>3.1.0</servlet-api.version>
 		<maven.javadoc.version>3.0.1</maven.javadoc.version>
@@ -494,16 +494,10 @@
 				</exclusions>
 			</dependency>
 			<dependency>
-				<groupId>junit</groupId>
-				<artifactId>junit</artifactId>
+				<groupId>org.junit.jupiter</groupId>
+				<artifactId>junit-jupiter-engine</artifactId>
 				<version>${junit.version}</version>
 				<scope>test</scope>
-				<exclusions>
-					<exclusion>
-						<groupId>org.hamcrest</groupId>
-						<artifactId>hamcrest-core</artifactId>
-					</exclusion>
-				</exclusions>
 			</dependency>
 			<dependency>
 				<groupId>org.eclipse.jetty</groupId>
@@ -587,10 +581,6 @@
 			<artifactId>slf4j-api</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-		</dependency>
-		<dependency>
 			<groupId>org.mockito</groupId>
 			<artifactId>mockito-core</artifactId>
 		</dependency>
@@ -1295,7 +1285,7 @@
 				<inherited>true</inherited>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-project-info-reports-plugin</artifactId>
-				<version>2.9</version>
+				<version>3.0.0</version>
 				<reportSets>
 					<reportSet>
 						<reports>

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-core/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-core/pom.xml b/wicket-core/pom.xml
index d9d8342..e19d904 100644
--- a/wicket-core/pom.xml
+++ b/wicket-core/pom.xml
@@ -37,8 +37,8 @@
 	</description>
 	<dependencies>
 		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
+			<groupId>org.junit.jupiter</groupId>
+			<artifactId>junit-jupiter-engine</artifactId>
 			<!-- provided because of WicketTester -->
 			<scope>provided</scope>
 			<optional>true</optional>
@@ -64,6 +64,14 @@
 			<artifactId>jdk-serializable-functional</artifactId>
 		</dependency>
 		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>com.github.openjson</groupId>
+			<artifactId>openjson</artifactId>
+		</dependency>
+		<dependency>
 			<groupId>com.google.guava</groupId>
 			<artifactId>guava</artifactId>
 			<scope>test</scope>

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
index 613bb02..a35aa0d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
@@ -16,22 +16,6 @@
  */
 package org.apache.wicket.util.tester;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
-
-import javax.servlet.ServletContext;
-
-import junit.framework.AssertionFailedError;
-
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
@@ -54,14 +38,24 @@ import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Objects;
+import org.opentest4j.AssertionFailedError;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.servlet.ServletContext;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+
+import static org.junit.jupiter.api.Assertions.*;
+
 
 /**
  * A helper class to ease unit testing of Wicket applications without the need for a servlet
  * container. To start a test, either use <code>startPage</code> or <code>startPanel</code>:
- * 
+ *
  * <pre>
  * // production page
  * public class MyPage extends WebPage
@@ -79,16 +73,16 @@ import org.slf4j.LoggerFactory;
  * 	}
  * }
  * </pre>
- * 
+ *
  * <pre>
  * // test code
  * private WicketTester tester;
- * 
+ *
  * public void setUp()
  * {
  * 	tester = new WicketTester();
  * }
- * 
+ *
  * public void testRenderMyPage()
  * {
  * 	// start and render the test page
@@ -99,10 +93,10 @@ import org.slf4j.LoggerFactory;
  * 	tester.assertLabel(&quot;myMessage&quot;, &quot;Hello!&quot;);
  * }
  * </pre>
- * 
+ *
  * The above example is straight forward: start <code>MyPage.class</code> and assert
  * <code>Label</code> it rendered. Next, we try to navigate through a <code>Link</code>:
- * 
+ *
  * <pre>
  * // production page
  * public class YourPage extends WebPage
@@ -113,7 +107,7 @@ import org.slf4j.LoggerFactory;
  * 		info(&quot;Wicket Rocks ;-)&quot;);
  * 	}
  * }
- * 
+ *
  * // test code
  * public void testLinkToYourPage()
  * {
@@ -124,11 +118,11 @@ import org.slf4j.LoggerFactory;
  * 	tester.assertLabel(&quot;yourMessage&quot;, &quot;Hi!&quot;);
  * }
  * </pre>
- * 
+ *
  * <code>tester.clickLink(path);</code> will simulate user click on the component (in this case,
  * it's a <code>Link</code>) and render the response page <code>YourPage</code>. Ok, unit test of
  * <code>MyPage</code> is completed. Now we test <code>YourPage</code> standalone:
- * 
+ *
  * <pre>
  * // test code
  * public void testRenderYourPage()
@@ -141,30 +135,28 @@ import org.slf4j.LoggerFactory;
  * 	tester.assertInfoMessages(new String[] { &quot;Wicket Rocks ;-)&quot; });
  * }
  * </pre>
- * 
+ *
  * Many methods require a 'path' parameter. E.g. the page relative path can be obtained via
  * {@link Component#getPageRelativePath()}. Since each Component has an ID/name, any Component can
  * also be referenced by its ID {@link MarkupContainer#get(String)}. And since MarkupContainer's and
  * its subclasses are containers which allow to add Components (in sync with the markup hierarchy),
  * you may not only access direct childs but also subchilds like get("myPanel:myForm:myNameField")
  * separating each ID with a ':'.
- * 
+ *
  * Cookie handling:
- * 
- * There are some expectations about wicket tester cookie handling which should match as best as
- * it can be with a real client server request response cycle: 
- * - all valid cookies set before a request is made (tester.getRequest().addCookie()) should
- *   appear in the page request
- * - all cookies set in the response should appear in the last response (tester.getLastResponse()) 
- *   after the request is made (expired cookies and others)
- * - all cookies set in the response should appear even after a redirect response is made
- *   until the final response (tester.getLastResponse()) is written to the client (wicket tester) 
- * - all valid cookies (maxAge!=0) from the last response should be added to
- *   the next request cookies (tester.getRequest().getCookies())
- * 
- * 
+ *
+ * There are some expectations about wicket tester cookie handling which should match as best as it
+ * can be with a real client server request response cycle: - all valid cookies set before a request
+ * is made (tester.getRequest().addCookie()) should appear in the page request - all cookies set in
+ * the response should appear in the last response (tester.getLastResponse()) after the request is
+ * made (expired cookies and others) - all cookies set in the response should appear even after a
+ * redirect response is made until the final response (tester.getLastResponse()) is written to the
+ * client (wicket tester) - all valid cookies (maxAge!=0) from the last response should be added to
+ * the next request cookies (tester.getRequest().getCookies())
+ *
+ *
  * TODO General: Example usage of FormTester
- * 
+ *
  * @author Ingram Chen
  * @author Juergen Donnerstag
  * @author Frank Bille
@@ -185,7 +177,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Creates a <code>WicketTester</code> and automatically creates a <code>WebApplication</code>.
-	 * 
+	 *
 	 * @param homePage
 	 *            a home page <code>Class</code>
 	 */
@@ -196,7 +188,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Creates a <code>WicketTester</code>.
-	 * 
+	 *
 	 * @param application
 	 *            a <code>WicketTester</code> <code>WebApplication</code> object
 	 */
@@ -207,13 +199,13 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Creates a <code>WicketTester</code> to help unit testing.
-	 * 
+	 *
 	 * @param application
 	 *            a <code>WicketTester</code> <code>WebApplication</code> object
 	 * @param path
 	 *            the absolute path on disk to the web application's contents (e.g. war root) - may
 	 *            be <code>null</code>
-	 * 
+	 *
 	 * @see org.apache.wicket.mock.MockApplication#MockApplication()
 	 */
 	public WicketTester(final WebApplication application, final String path)
@@ -223,7 +215,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Creates a <code>WicketTester</code> to help unit testing.
-	 * 
+	 *
 	 * @param application
 	 *            a <code>WicketTester</code> <code>WebApplication</code> object
 	 * @param servletCtx
@@ -233,10 +225,10 @@ public class WicketTester extends BaseWicketTester
 	{
 		super(application, servletCtx);
 	}
-	
+
 	/**
 	 * Creates a <code>WicketTester</code> to help unit testing.
-	 * 
+	 *
 	 * @param application
 	 *            a <code>WicketTester</code> <code>WebApplication</code> object
 	 * @param init
@@ -246,10 +238,10 @@ public class WicketTester extends BaseWicketTester
 	{
 		super(application, init);
 	}
-	
+
 	/**
 	 * Creates a <code>WicketTester</code> to help unit testing.
-	 * 
+	 *
 	 * @param application
 	 *            a <code>WicketTester</code> <code>WebApplication</code> object
 	 * @param servletCtx
@@ -263,19 +255,41 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
+	 * Returns the current Maven build directory taken from the <tt>basedir</tt> system property, or
+	 * null if not set
+	 *
+	 * @return path with a trailing slash
+	 */
+	public static String getBasedir()
+	{
+		String basedir = System.getProperty("basedir");
+		if (basedir != null)
+		{
+			basedir = basedir + "/";
+		}
+		else
+		{
+			basedir = "";
+		}
+		return basedir;
+	}
+
+	/**
 	 * Asserts that the Ajax location header is present.
 	 */
 	public void assertAjaxLocation()
 	{
 		if (null != getLastResponse().getHeader("Location"))
 		{
-			fail("Location header should *not* be present when using Ajax");
+			throw new AssertionFailedError(
+				"Location header should *not* be present when using Ajax");
 		}
 
 		String ajaxLocation = getLastResponse().getHeader("Ajax-Location");
 		if (null == ajaxLocation)
 		{
-			throw new AssertionFailedError("Ajax-Location header should be present when using Ajax");
+			throw new AssertionFailedError(
+				"Ajax-Location header should be present when using Ajax");
 		}
 
 		int statusCode = getLastResponse().getStatus();
@@ -287,7 +301,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Asserts a <code>Component</code> class.
-	 * 
+	 *
 	 * @param path
 	 *            path to <code>Component</code>
 	 * @param expectedComponentClass
@@ -299,8 +313,19 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
-	 * Asserts that the <code>Component</code> a the given path has a behavior
-	 * of the given type.
+	 *
+	 * @param result
+	 */
+	private void assertResult(Result result)
+	{
+		if (result.wasFailed())
+		{
+			throw new AssertionFailedError(result.getMessage());
+		}
+	}
+
+	/**
+	 * Asserts that the <code>Component</code> a the given path has a behavior of the given type.
 	 *
 	 * @param path
 	 *            path to <code>Component</code>
@@ -314,49 +339,49 @@ public class WicketTester extends BaseWicketTester
 		Component component = assertExists(path);
 		List<? extends Behavior> behaviors = component.getBehaviors(expectedBehaviorClass);
 		final String message = String.format("Component '%s' has no behaviors of type '%s'",
-				component.getPageRelativePath(), expectedBehaviorClass);
+			component.getPageRelativePath(), expectedBehaviorClass);
 		assertResult(new Result(CollectionUtils.isEmpty(behaviors), message));
 	}
 
 	/**
 	 * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>, using
-	 * {@link org.apache.wicket.ajax.AjaxRequestTarget#add(Component...)}. This method actually tests that a
-	 * <code>Component</code> is on the Ajax response sent back to the client.
+	 * {@link org.apache.wicket.ajax.AjaxRequestTarget#add(Component...)}. This method actually
+	 * tests that a <code>Component</code> is on the Ajax response sent back to the client.
 	 * <p>
 	 * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client DOM
 	 * tree, using JavaScript. But it shouldn't be needed because you just have to trust that Wicket
 	 * Ajax JavaScript works.
-	 * 
-	 * @param component
-	 *            a <code>Component</code> to be tested
+	 *
+	 * @param componentPath
+	 *            a <code>Component</code> path to test
 	 */
-	public void assertComponentOnAjaxResponse(Component component)
+	public void assertComponentOnAjaxResponse(String componentPath)
 	{
-		Result result = isComponentOnAjaxResponse(component);
-		assertResult(result);
+		Component component = getComponentFromLastRenderedPage(componentPath, false);
+		assertComponentOnAjaxResponse(component);
 	}
 
 	/**
 	 * Tests that a <code>Component</code> has been added to a <code>AjaxRequestTarget</code>, using
-	 * {@link org.apache.wicket.ajax.AjaxRequestTarget#add(Component...)}. This method actually tests that a
-	 * <code>Component</code> is on the Ajax response sent back to the client.
+	 * {@link org.apache.wicket.ajax.AjaxRequestTarget#add(Component...)}. This method actually
+	 * tests that a <code>Component</code> is on the Ajax response sent back to the client.
 	 * <p>
 	 * PLEASE NOTE! This method doesn't actually insert the <code>Component</code> in the client DOM
 	 * tree, using JavaScript. But it shouldn't be needed because you just have to trust that Wicket
 	 * Ajax JavaScript works.
-	 * 
-	 * @param componentPath
-	 *            a <code>Component</code> path to test
+	 *
+	 * @param component
+	 *            a <code>Component</code> to be tested
 	 */
-	public void assertComponentOnAjaxResponse(String componentPath)
+	public void assertComponentOnAjaxResponse(Component component)
 	{
-		Component component = getComponentFromLastRenderedPage(componentPath, false);
-		assertComponentOnAjaxResponse(component);
+		Result result = isComponentOnAjaxResponse(component);
+		assertResult(result);
 	}
 
 	/**
 	 * Asserts the content of last rendered page contains (matches) a given regex pattern.
-	 * 
+	 *
 	 * @param pattern
 	 *            a regex pattern to match
 	 */
@@ -367,7 +392,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * The opposite of {@link #assertContains(String)}.
-	 * 
+	 *
 	 * @param pattern
 	 *            pattern
 	 */
@@ -380,9 +405,9 @@ public class WicketTester extends BaseWicketTester
 	 * Asserts that a component's markup has loaded with the given variation
 	 *
 	 * @param component
-	 *              The component which markup to check
+	 *            The component which markup to check
 	 * @param expectedVariation
-	 *              The expected variation of the component's markup
+	 *            The expected variation of the component's markup
 	 */
 	public void assertMarkupVariation(Component component, String expectedVariation)
 	{
@@ -392,21 +417,44 @@ public class WicketTester extends BaseWicketTester
 		String actualVariation = markup.getMarkupResourceStream().getVariation();
 		if (Objects.equal(expectedVariation, actualVariation) == false)
 		{
-			result = Result.fail(String.format("Wrong variation for component '%s'. Actual: '%s', expected: '%s'",
+			result = Result.fail(
+				String.format("Wrong variation for component '%s'. Actual: '%s', expected: '%s'",
 					component.getPageRelativePath(), actualVariation, expectedVariation));
 		}
 
 		assertResult(result);
 	}
 
+	private IMarkupFragment getMarkupFragment(Component component)
+	{
+		IMarkupFragment markup = null;
+		if (component instanceof MarkupContainer)
+		{
+			markup = ((MarkupContainer)component).getAssociatedMarkup();
+		}
+
+		if (markup == null)
+		{
+			markup = component.getMarkup();
+		}
+
+		if (markup == null)
+		{
+			throw new AssertionFailedError(String.format("Cannot find the markup of component: %s",
+				component.getPageRelativePath()));
+		}
+
+		return markup;
+	}
+
 	/**
 	 * Asserts that a component's markup has loaded with the given style.
 	 *
 	 * @param component
-	 *              The component which markup to check
+	 *            The component which markup to check
 	 * @param expectedStyle
-	 *              The expected style of the component's markup.
-	 *              For example: <em>green</em> in <code>MyPanel_green.html</code>
+	 *            The expected style of the component's markup. For example: <em>green</em> in
+	 *            <code>MyPanel_green.html</code>
 	 */
 	public void assertMarkupStyle(Component component, String expectedStyle)
 	{
@@ -416,7 +464,8 @@ public class WicketTester extends BaseWicketTester
 		String actualStyle = markup.getMarkupResourceStream().getStyle();
 		if (Objects.equal(expectedStyle, actualStyle) == false)
 		{
-			result = Result.fail(String.format("Wrong style for component '%s'. Actual: '%s', expected: '%s'",
+			result = Result
+				.fail(String.format("Wrong style for component '%s'. Actual: '%s', expected: '%s'",
 					component.getPageRelativePath(), actualStyle, expectedStyle));
 		}
 
@@ -427,9 +476,9 @@ public class WicketTester extends BaseWicketTester
 	 * Asserts that a component's markup has loaded with the given locale
 	 *
 	 * @param component
-	 *              The component which markup to check
+	 *            The component which markup to check
 	 * @param expectedLocale
-	 *              The expected locale of the component's markup
+	 *            The expected locale of the component's markup
 	 */
 	public void assertMarkupLocale(Component component, Locale expectedLocale)
 	{
@@ -439,54 +488,24 @@ public class WicketTester extends BaseWicketTester
 		Locale actualLocale = markup.getMarkupResourceStream().getLocale();
 		if (Objects.equal(expectedLocale, actualLocale) == false)
 		{
-			result = Result.fail(String.format("Wrong locale for component '%s'. Actual: '%s', expected: '%s'",
+			result = Result
+				.fail(String.format("Wrong locale for component '%s'. Actual: '%s', expected: '%s'",
 					component.getPageRelativePath(), actualLocale, expectedLocale));
 		}
 
 		assertResult(result);
 	}
 
-	private IMarkupFragment getMarkupFragment(Component component)
-	{
-		IMarkupFragment markup = null;
-		if (component instanceof MarkupContainer)
-		{
-			markup = ((MarkupContainer) component).getAssociatedMarkup();
-		}
-
-		if (markup == null)
-		{
-			markup = component.getMarkup();
-		}
-
-		if (markup == null)
-		{
-			throw new AssertionFailedError(String.format("Cannot find the markup of component: %s", component.getPageRelativePath()));
-		}
-
-		return markup;
-	}
-
 	/**
 	 * Asserts error-level feedback messages.
-	 * 
+	 *
 	 * @param expectedErrorMessages
 	 *            expected error messages
 	 */
 	public void assertErrorMessages(Serializable... expectedErrorMessages)
 	{
-		assertFeedbackMessages(new ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR), expectedErrorMessages);
-	}
-
-	/**
-	 * Assert info-level feedback messages.
-	 * 
-	 * @param expectedInfoMessages
-	 *            expected info messages
-	 */
-	public void assertInfoMessages(Serializable... expectedInfoMessages)
-	{
-		assertFeedbackMessages(new ExactLevelFeedbackMessageFilter(FeedbackMessage.INFO), expectedInfoMessages);
+		assertFeedbackMessages(new ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR),
+			expectedErrorMessages);
 	}
 
 	/**
@@ -497,7 +516,8 @@ public class WicketTester extends BaseWicketTester
 	 * @param expectedMessages
 	 *            expected feedback messages
 	 */
-	public void assertFeedbackMessages(IFeedbackMessageFilter filter, Serializable... expectedMessages)
+	public void assertFeedbackMessages(IFeedbackMessageFilter filter,
+		Serializable... expectedMessages)
 	{
 		List<FeedbackMessage> feedbackMessages = getFeedbackMessages(filter);
 		List<Serializable> actualMessages = getActualFeedbackMessages(feedbackMessages);
@@ -505,34 +525,8 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
-	 * Asserts that there is a feedback message provided by a given component
-	 *
-	 * @param component
-	 *          the component that provided the expected feedback message. Optional.
-	 * @param key
-	 *          the resource key for the feedback message. Mandatory.
-	 * @param model
-	 *          the model used for interpolating the feedback message. Optional.
-	 * @param filter
-	 *          the filter that decides in which messages to look in. E.g. with a specific
-	 *          level, rendered or not, etc.
-	 */
-	public void assertComponentFeedbackMessage(Component component, String key, IModel<?> model, IFeedbackMessageFilter filter)
-	{
-		Args.notNull(key, "key");
-
-		String expectedMessage = getApplication().getResourceSettings().getLocalizer().getString(key, component, model);
-
-		List<FeedbackMessage> feedbackMessages = getFeedbackMessages(filter);
-		List<Serializable> actualMessages = getActualFeedbackMessages(feedbackMessages);
-
-		assertTrue(String.format("Feedback message with key '%s' cannot be found in %s", key, actualMessages),
-				actualMessages.contains(expectedMessage));
-	}
-
-	/**
-	 * Extracts the actual messages from the passed feedback messages.
-	 * Specially handles ValidationErrorFeedback messages by extracting their String message
+	 * Extracts the actual messages from the passed feedback messages. Specially handles
+	 * ValidationErrorFeedback messages by extracting their String message
 	 *
 	 * @param feedbackMessages
 	 *            the feedback messages
@@ -557,12 +551,52 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
+	 * Assert info-level feedback messages.
+	 *
+	 * @param expectedInfoMessages
+	 *            expected info messages
+	 */
+	public void assertInfoMessages(Serializable... expectedInfoMessages)
+	{
+		assertFeedbackMessages(new ExactLevelFeedbackMessageFilter(FeedbackMessage.INFO),
+			expectedInfoMessages);
+	}
+
+	/**
+	 * Asserts that there is a feedback message provided by a given component
+	 *
+	 * @param component
+	 *            the component that provided the expected feedback message. Optional.
+	 * @param key
+	 *            the resource key for the feedback message. Mandatory.
+	 * @param model
+	 *            the model used for interpolating the feedback message. Optional.
+	 * @param filter
+	 *            the filter that decides in which messages to look in. E.g. with a specific level,
+	 *            rendered or not, etc.
+	 */
+	public void assertComponentFeedbackMessage(Component component, String key, IModel<?> model,
+		IFeedbackMessageFilter filter)
+	{
+		Args.notNull(key, "key");
+
+		String expectedMessage = getApplication().getResourceSettings().getLocalizer().getString(
+			key, component, model);
+
+		List<FeedbackMessage> feedbackMessages = getFeedbackMessages(filter);
+		List<Serializable> actualMessages = getActualFeedbackMessages(feedbackMessages);
+
+		assertTrue(actualMessages.contains(expectedMessage), String
+			.format("Feedback message with key '%s' cannot be found in %s", key, actualMessages));
+	}
+
+	/**
 	 * Assert that a particular feedback panel is rendering certain messages.
-	 * 
+	 *
 	 * NOTE: this casts the component at the specified path to a {@link FeedbackPanel}, so it will
 	 * not work with custom {@link IFeedback} implementations unless you are subclassing
 	 * {@link FeedbackPanel}
-	 * 
+	 *
 	 * @param path
 	 *            path to the feedback panel
 	 * @param messages
@@ -579,8 +613,9 @@ public class WicketTester extends BaseWicketTester
 		}
 		if (messages.length != renderedMessages.size())
 		{
-			fail(String.format("you expected '%d' messages for the feedback panel [%s], but there were actually '%d'",
-					messages.length, path, renderedMessages.size()));
+			fail(String.format(
+				"you expected '%d' messages for the feedback panel [%s], but there were actually '%d'",
+				messages.length, path, renderedMessages.size()));
 		}
 		for (int i = 0; i < messages.length && i < renderedMessages.size(); i++)
 		{
@@ -603,7 +638,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Asserts that a <code>Component</code> is invisible.
-	 * 
+	 *
 	 * @param path
 	 *            path to <code>Component</code>
 	 */
@@ -614,7 +649,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Asserts the text of a <code>Label</code> <code>Component</code>.
-	 * 
+	 *
 	 * @param path
 	 *            path to <code>Label</code> <code>Component</code>
 	 * @param expectedLabelText
@@ -628,7 +663,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Asserts the model value of a component.
-	 * 
+	 *
 	 * @param path
 	 *            path to the component on the page
 	 * @param expectedValue
@@ -642,7 +677,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Asserts the model of a {@link ListView}.
-	 * 
+	 *
 	 * @param path
 	 *            path to a {@link ListView} <code>Component</code>
 	 * @param expectedList
@@ -659,67 +694,56 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
-	 * Asserts no error-level feedback messages.
+	 * Asserts last-rendered <code>Page</code> against an expected HTML document.
+	 * <p>
+	 * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
+	 * output file.
+	 *
+	 * @param clazz
+	 *            <code>Class</code> used to load the file (relative to <code>clazz</code> package)
+	 * @param filename
+	 *            expected output filename <code>String</code>
+	 * @throws Exception
 	 */
-	public void assertNoErrorMessage()
+	@Override
+	public void assertResultPage(final Class<?> clazz, final String filename) throws Exception
 	{
-		assertNoFeedbackMessage(FeedbackMessage.ERROR);
+		String document = getLastResponseAsString();
+		DiffUtil.validatePage(document, clazz, filename, true);
 	}
 
 	/**
-	 * Asserts no info-level feedback messages.
+	 * Asserts no error-level feedback messages.
 	 */
-	public void assertNoInfoMessage()
+	public void assertNoErrorMessage()
 	{
-		assertNoFeedbackMessage(FeedbackMessage.INFO);
+		assertNoFeedbackMessage(FeedbackMessage.ERROR);
 	}
 
 	/**
 	 * Asserts there are no feedback messages with a certain level.
-	 * 
+	 *
 	 * @param level
 	 *            the level to check for
 	 */
 	public void assertNoFeedbackMessage(int level)
 	{
 		Result result = hasNoFeedbackMessage(level);
-		assertFalse(result.getMessage(), result.wasFailed());
-	}
-
-	/**
-	 * Asserts a last-rendered <code>Page</code> class.
-	 * 
-	 * @param expectedRenderedPageClass
-	 *            expected class of last rendered <code>Page</code>
-	 */
-	public void assertRenderedPage(Class<? extends Page> expectedRenderedPageClass)
-	{
-		assertResult(isRenderedPage(expectedRenderedPageClass));
+		assertFalse(result.wasFailed(), result.getMessage());
 	}
 
 	/**
-	 * Asserts last-rendered <code>Page</code> against an expected HTML document.
-	 * <p>
-	 * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
-	 * output file.
-	 * 
-	 * @param clazz
-	 *            <code>Class</code> used to load the file (relative to <code>clazz</code> package)
-	 * @param filename
-	 *            expected output filename <code>String</code>
-	 * @throws Exception
+	 * Asserts no info-level feedback messages.
 	 */
-	@Override
-	public void assertResultPage(final Class<?> clazz, final String filename) throws Exception
+	public void assertNoInfoMessage()
 	{
-		String document = getLastResponseAsString();
-		DiffUtil.validatePage(document, clazz, filename, true);
+		assertNoFeedbackMessage(FeedbackMessage.INFO);
 	}
 
 	/**
 	 * Asserts last-rendered <code>Page</code> against an expected HTML document as a
 	 * <code>String</code>
-	 * 
+	 *
 	 * @param expectedDocument
 	 *            expected output <code>String</code>
 	 * @throws Exception
@@ -733,7 +757,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Asserts that a <code>Component</code> is visible.
-	 * 
+	 *
 	 * @param path
 	 *            path to a <code>Component</code>
 	 */
@@ -744,10 +768,10 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * assert component is enabled.
-	 * 
+	 *
 	 * @param path
 	 *            path to component
-	 * 
+	 *
 	 */
 	public void assertEnabled(String path)
 	{
@@ -756,7 +780,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * assert component is enabled.
-	 * 
+	 *
 	 * @param path
 	 *            path to component
 	 */
@@ -767,7 +791,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * assert form component is required.
-	 * 
+	 *
 	 * @param path
 	 *            path to form component
 	 */
@@ -788,20 +812,8 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
-	 * 
-	 * @param result
-	 */
-	private void assertResult(Result result)
-	{
-		if (result.wasFailed())
-		{
-			throw new AssertionFailedError(result.getMessage());
-		}
-	}
-
-	/**
 	 * Checks whether a component is visible and/or enabled before usage
-	 * 
+	 *
 	 * @param component
 	 */
 	public void assertUsability(final Component component)
@@ -810,7 +822,7 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
-	 * 
+	 *
 	 * @param link
 	 */
 	public void clickLink(Component link)
@@ -821,7 +833,7 @@ public class WicketTester extends BaseWicketTester
 	/**
 	 * Asserts that that the BookmarkablePageLink<?> identified by "id" points to the page as
 	 * expected - including parameters.
-	 * 
+	 *
 	 * @param id
 	 * @param pageClass
 	 * @param parameters
@@ -836,21 +848,22 @@ public class WicketTester extends BaseWicketTester
 		}
 		catch (ClassCastException e)
 		{
-			throw new IllegalArgumentException("Component with id:" + id +
-				" is not a BookmarkablePageLink");
+			throw new IllegalArgumentException(
+				"Component with id:" + id + " is not a BookmarkablePageLink");
 		}
 
-		assertEquals("BookmarkablePageLink: " + id + " is pointing to the wrong page", pageClass,
-			pageLink.getPageClass());
+		assertEquals(pageClass, pageLink.getPageClass(),
+			"BookmarkablePageLink: " + id + " is pointing to the wrong page");
 
-		assertEquals("One or more of the parameters associated with the BookmarkablePageLink: " +
-			id + " do not match", parameters, pageLink.getPageParameters());
+		assertEquals(parameters, pageLink.getPageParameters(),
+			"One or more of the parameters associated with the BookmarkablePageLink: " + id +
+				" do not match");
 	}
 
 	/**
 	 * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
 	 * output file.
-	 * 
+	 *
 	 * @param <T>
 	 * @param testClass
 	 * @param pageClass
@@ -868,9 +881,20 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
+	 * Asserts a last-rendered <code>Page</code> class.
+	 *
+	 * @param expectedRenderedPageClass
+	 *            expected class of last rendered <code>Page</code>
+	 */
+	public void assertRenderedPage(Class<? extends Page> expectedRenderedPageClass)
+	{
+		assertResult(isRenderedPage(expectedRenderedPageClass));
+	}
+
+	/**
 	 * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
 	 * output file.
-	 * 
+	 *
 	 * @param testClass
 	 * @param page
 	 * @param filename
@@ -889,7 +913,7 @@ public class WicketTester extends BaseWicketTester
 	/**
 	 * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
 	 * output file.
-	 * 
+	 *
 	 * @param testClass
 	 * @param component
 	 * @param filename
@@ -907,7 +931,7 @@ public class WicketTester extends BaseWicketTester
 	/**
 	 * Use <code>-Dwicket.replace.expected.results=true</code> to automatically replace the expected
 	 * output file.
-	 * 
+	 *
 	 * @param <T>
 	 * @param testClass
 	 * @param pageClass
@@ -926,7 +950,7 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
-	 * 
+	 *
 	 * @param testClass
 	 * @param component
 	 * @param filename
@@ -944,7 +968,7 @@ public class WicketTester extends BaseWicketTester
 	}
 
 	/**
-	 * 
+	 *
 	 * @param testClass
 	 * @param behavior
 	 * @param filename
@@ -963,7 +987,7 @@ public class WicketTester extends BaseWicketTester
 
 	/**
 	 * Assert that the last request redirected to the given Url.
-	 * 
+	 *
 	 * @param expectedRedirectUrl
 	 *            expected
 	 */
@@ -972,24 +996,4 @@ public class WicketTester extends BaseWicketTester
 		String actualRedirectUrl = getLastResponse().getRedirectLocation();
 		assertEquals(expectedRedirectUrl, actualRedirectUrl);
 	}
-
-	/**
-	 * Returns the current Maven build directory taken from the <tt>basedir</tt> system property, or
-	 * null if not set
-	 * 
-	 * @return path with a trailing slash
-	 */
-	public static String getBasedir()
-	{
-		String basedir = System.getProperty("basedir");
-		if (basedir != null)
-		{
-			basedir = basedir + "/";
-		}
-		else
-		{
-			basedir = "";
-		}
-		return basedir;
-	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-util/pom.xml b/wicket-util/pom.xml
index a0ac143..6f71806 100755
--- a/wicket-util/pom.xml
+++ b/wicket-util/pom.xml
@@ -28,10 +28,9 @@
 	<name>Wicket Util</name>
 	<dependencies>
 		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>provided</scope>
-			<optional>true</optional>
+			<groupId>org.junit.jupiter</groupId>
+			<artifactId>junit-jupiter-engine</artifactId>
+			<scope>compile</scope>
 		</dependency>
 		<dependency>
 			<groupId>commons-fileupload</groupId>
@@ -45,5 +44,11 @@
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-collections4</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.opentest4j</groupId>
+			<artifactId>opentest4j</artifactId>
+			<version>RELEASE</version>
+			<scope>compile</scope>
+		</dependency>
 	</dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java b/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java
index 74583c2..cbbc934 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java
@@ -16,24 +16,18 @@
  */
 package org.apache.wicket.util.license;
 
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
+import java.io.*;
 import java.util.List;
 
-import org.junit.Assert;
 import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.string.Strings;
-
+import org.opentest4j.AssertionFailedError;
 
 abstract class AbstractLicenseHeaderHandler implements ILicenseHeaderHandler
 {
 	protected static final String LINE_ENDING = System.getProperty("line.separator");
-	private String licenseHeader;
 	private final List<String> ignoreFiles;
+	private String licenseHeader;
 
 	/**
 	 * Construct.
@@ -64,48 +58,6 @@ abstract class AbstractLicenseHeaderHandler implements ILicenseHeaderHandler
 		return null;
 	}
 
-	protected abstract String getLicenseHeaderFilename();
-
-	protected String getLicenseHeader()
-	{
-		if (Strings.isEmpty(licenseHeader))
-		{
-			LineNumberReader lineNumberReader = null;
-			InputStream inputStream = null;
-			InputStreamReader inputStreamReader = null;
-
-			try
-			{
-				inputStream = ApacheLicenseHeaderTestCase.class.getResourceAsStream(getLicenseHeaderFilename());
-				inputStreamReader = new InputStreamReader(inputStream);
-				lineNumberReader = new LineNumberReader(inputStreamReader);
-
-				StringBuilder header = new StringBuilder();
-				String line = lineNumberReader.readLine();
-				while (line != null)
-				{
-					header.append(line);
-					header.append(LINE_ENDING);
-					line = lineNumberReader.readLine();
-				}
-
-				licenseHeader = header.toString().trim();
-			}
-			catch (Exception e)
-			{
-				Assert.fail(e.getMessage());
-			}
-			finally
-			{
-				IOUtils.closeQuietly(lineNumberReader);
-				IOUtils.closeQuietly(inputStream);
-				IOUtils.closeQuietly(inputStreamReader);
-			}
-		}
-
-		return licenseHeader;
-	}
-
 	protected String extractLicenseHeader(final File file, final int start, final int length)
 	{
 		StringBuilder header = new StringBuilder();
@@ -124,7 +76,7 @@ abstract class AbstractLicenseHeaderHandler implements ILicenseHeaderHandler
 		}
 		catch (Exception e)
 		{
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 		finally
 		{
@@ -134,7 +86,7 @@ abstract class AbstractLicenseHeaderHandler implements ILicenseHeaderHandler
 			}
 			catch (IOException e)
 			{
-				Assert.fail(e.getMessage());
+				throw new AssertionFailedError(e.getMessage());
 			}
 		}
 
@@ -158,7 +110,50 @@ abstract class AbstractLicenseHeaderHandler implements ILicenseHeaderHandler
 		}
 		catch (Exception e)
 		{
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 	}
+
+	protected String getLicenseHeader()
+	{
+		if (Strings.isEmpty(licenseHeader))
+		{
+			LineNumberReader lineNumberReader = null;
+			InputStream inputStream = null;
+			InputStreamReader inputStreamReader = null;
+
+			try
+			{
+				inputStream = ApacheLicenseHeaderTestCase.class
+					.getResourceAsStream(getLicenseHeaderFilename());
+				inputStreamReader = new InputStreamReader(inputStream);
+				lineNumberReader = new LineNumberReader(inputStreamReader);
+
+				StringBuilder header = new StringBuilder();
+				String line = lineNumberReader.readLine();
+				while (line != null)
+				{
+					header.append(line);
+					header.append(LINE_ENDING);
+					line = lineNumberReader.readLine();
+				}
+
+				licenseHeader = header.toString().trim();
+			}
+			catch (Exception e)
+			{
+				throw new AssertionFailedError(e.getMessage());
+			}
+			finally
+			{
+				IOUtils.closeQuietly(lineNumberReader);
+				IOUtils.closeQuietly(inputStream);
+				IOUtils.closeQuietly(inputStreamReader);
+			}
+		}
+
+		return licenseHeader;
+	}
+
+	protected abstract String getLicenseHeaderFilename();
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/ApacheLicenseHeaderTestCase.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/ApacheLicenseHeaderTestCase.java b/wicket-util/src/main/java/org/apache/wicket/util/license/ApacheLicenseHeaderTestCase.java
index b39e7c3..8485723 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/ApacheLicenseHeaderTestCase.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/ApacheLicenseHeaderTestCase.java
@@ -16,6 +16,14 @@
  */
 package org.apache.wicket.util.license;
 
+import org.apache.wicket.util.lang.Generics;
+import org.apache.wicket.util.string.Strings;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.opentest4j.AssertionFailedError;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.File;
 import java.io.FileFilter;
 import java.util.ArrayList;
@@ -24,167 +32,18 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.apache.wicket.util.lang.Generics;
-import org.apache.wicket.util.string.Strings;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 /**
  * Testcase used in the different wicket projects for testing for the correct ASL license headers.
  * Doesn't really make sense outside org.apache.wicket.
  * 
  * @author Frank Bille Jensen (frankbille)
  */
-public abstract class ApacheLicenseHeaderTestCase extends Assert
+public abstract class ApacheLicenseHeaderTestCase
 {
 	/** Log. */
 	private static final Logger log = LoggerFactory.getLogger(ApacheLicenseHeaderTestCase.class);
 
 	private static final String LINE_ENDING = System.getProperty("line.separator");
-
-	interface FileVisitor
-	{
-		/**
-		 * @param file
-		 */
-		void visitFile(File file);
-	}
-
-	private class SuffixAndIgnoreFileFilter implements FileFilter
-	{
-		private final List<String> suffixes;
-		private final List<String> ignoreFiles;
-
-		private SuffixAndIgnoreFileFilter(final List<String> suffixes,
-			final List<String> ignoreFiles)
-		{
-			this.suffixes = suffixes;
-			this.ignoreFiles = ignoreFiles;
-		}
-
-		@Override
-		public boolean accept(final File pathname)
-		{
-			boolean accept = false;
-
-			if (pathname.isFile())
-			{
-				if (ignoreFile(pathname) == false)
-				{
-					for (String suffix : suffixes)
-					{
-						if (pathname.getName().endsWith("." + suffix))
-						{
-							accept = true;
-							break;
-						}
-						else
-						{
-							log.debug("File ignored: '{}'", pathname);
-						}
-					}
-				}
-				else
-				{
-					log.debug("File ignored: '{}'", pathname);
-				}
-			}
-
-			return accept;
-		}
-
-		private boolean ignoreFile(final File pathname)
-		{
-			boolean ignore = false;
-
-			if (ignoreFiles != null)
-			{
-				String relativePathname = pathname.getAbsolutePath();
-				relativePathname = Strings.replaceAll(relativePathname,
-					baseDirectory.getAbsolutePath() + System.getProperty("file.separator"), "")
-					.toString();
-
-				for (String ignorePath : ignoreFiles)
-				{
-					// Will convert '/'s to '\\'s on Windows
-					ignorePath = Strings.replaceAll(ignorePath, "/",
-						System.getProperty("file.separator")).toString();
-					File ignoreFile = new File(baseDirectory, ignorePath);
-
-					// Directory ignore
-					if (ignoreFile.isDirectory())
-					{
-						if (pathname.getAbsolutePath().startsWith(ignoreFile.getAbsolutePath()))
-						{
-							ignore = true;
-							break;
-						}
-					}
-					// Absolute file
-					else if (ignoreFile.isFile())
-					{
-						if (relativePathname.equals(ignorePath))
-						{
-							ignore = true;
-							break;
-						}
-					}
-					else if (pathname.getName().equals(ignorePath))
-					{
-						ignore = true;
-						break;
-					}
-				}
-			}
-
-			return ignore;
-		}
-	}
-
-	private class DirectoryFileFilter implements FileFilter
-	{
-		private final String[] ignoreDirectory = new String[] { ".git" };
-
-		@Override
-		public boolean accept(final File pathname)
-		{
-			boolean accept = false;
-
-			if (pathname.isDirectory())
-			{
-				String relativePathname = pathname.getAbsolutePath();
-				relativePathname = Strings.replaceAll(relativePathname,
-					baseDirectory.getAbsolutePath() + System.getProperty("file.separator"), "")
-					.toString();
-				if ("target".equals(relativePathname) == false)
-				{
-					boolean found = false;
-					for (String ignore : ignoreDirectory)
-					{
-						if (pathname.getName().equals(ignore))
-						{
-							found = true;
-							break;
-						}
-					}
-					if (found == false)
-					{
-						accept = true;
-					}
-				}
-			}
-
-			return accept;
-		}
-	}
-
-	private ILicenseHeaderHandler[] licenseHeaderHandlers;
-
-	private File baseDirectory = new File("").getAbsoluteFile();
-
 	protected List<String> javaIgnore = Generics.newArrayList();
 	protected List<String> htmlIgnore = Generics.newArrayList();
 	protected List<String> xmlPrologIgnore = Generics.newArrayList();
@@ -194,7 +53,8 @@ public abstract class ApacheLicenseHeaderTestCase extends Assert
 	protected List<String> velocityIgnore = Generics.newArrayList();
 	protected List<String> javaScriptIgnore = Generics.newArrayList();
 	protected boolean addHeaders = false;
-
+	private ILicenseHeaderHandler[] licenseHeaderHandlers;
+	private File baseDirectory = new File("").getAbsoluteFile();
 	/**
 	 * Construct.
 	 */
@@ -233,9 +93,9 @@ public abstract class ApacheLicenseHeaderTestCase extends Assert
 	}
 
 	/**
-	 * 
+	 *
 	 */
-	@Before
+	@BeforeEach
 	public final void before()
 	{
 		// setup the base directory for when running inside maven (building a release
@@ -334,7 +194,7 @@ public abstract class ApacheLicenseHeaderTestCase extends Assert
 			}
 
 			System.out.println(failString);
-			fail(failString.toString());
+			throw new AssertionFailedError(failString.toString());
 		}
 	}
 
@@ -368,4 +228,143 @@ public abstract class ApacheLicenseHeaderTestCase extends Assert
 			}
 		}
 	}
+
+	interface FileVisitor
+	{
+		/**
+		 * @param file
+		 */
+		void visitFile(File file);
+	}
+
+	private class SuffixAndIgnoreFileFilter implements FileFilter
+	{
+		private final List<String> suffixes;
+		private final List<String> ignoreFiles;
+
+		private SuffixAndIgnoreFileFilter(final List<String> suffixes,
+			final List<String> ignoreFiles)
+		{
+			this.suffixes = suffixes;
+			this.ignoreFiles = ignoreFiles;
+		}
+
+		@Override
+		public boolean accept(final File pathname)
+		{
+			boolean accept = false;
+
+			if (pathname.isFile())
+			{
+				if (ignoreFile(pathname) == false)
+				{
+					for (String suffix : suffixes)
+					{
+						if (pathname.getName().endsWith("." + suffix))
+						{
+							accept = true;
+							break;
+						}
+						else
+						{
+							log.debug("File ignored: '{}'", pathname);
+						}
+					}
+				}
+				else
+				{
+					log.debug("File ignored: '{}'", pathname);
+				}
+			}
+
+			return accept;
+		}
+
+		private boolean ignoreFile(final File pathname)
+		{
+			boolean ignore = false;
+
+			if (ignoreFiles != null)
+			{
+				String relativePathname = pathname.getAbsolutePath();
+				relativePathname = Strings
+					.replaceAll(relativePathname,
+						baseDirectory.getAbsolutePath() + System.getProperty("file.separator"), "")
+					.toString();
+
+				for (String ignorePath : ignoreFiles)
+				{
+					// Will convert '/'s to '\\'s on Windows
+					ignorePath = Strings
+						.replaceAll(ignorePath, "/", System.getProperty("file.separator"))
+						.toString();
+					File ignoreFile = new File(baseDirectory, ignorePath);
+
+					// Directory ignore
+					if (ignoreFile.isDirectory())
+					{
+						if (pathname.getAbsolutePath().startsWith(ignoreFile.getAbsolutePath()))
+						{
+							ignore = true;
+							break;
+						}
+					}
+					// Absolute file
+					else if (ignoreFile.isFile())
+					{
+						if (relativePathname.equals(ignorePath))
+						{
+							ignore = true;
+							break;
+						}
+					}
+					else if (pathname.getName().equals(ignorePath))
+					{
+						ignore = true;
+						break;
+					}
+				}
+			}
+
+			return ignore;
+		}
+	}
+
+	private class DirectoryFileFilter implements FileFilter
+	{
+		private final String[] ignoreDirectory = new String[] { ".git" };
+
+		@Override
+		public boolean accept(final File pathname)
+		{
+			boolean accept = false;
+
+			if (pathname.isDirectory())
+			{
+				String relativePathname = pathname.getAbsolutePath();
+				relativePathname = Strings
+					.replaceAll(relativePathname,
+						baseDirectory.getAbsolutePath() + System.getProperty("file.separator"), "")
+					.toString();
+				if ("target".equals(relativePathname) == false)
+				{
+					boolean found = false;
+					for (String ignore : ignoreDirectory)
+					{
+						if (pathname.getName().equals(ignore))
+						{
+							found = true;
+							break;
+						}
+					}
+					if (found == false)
+					{
+						accept = true;
+					}
+				}
+			}
+
+			return accept;
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/CssLicenseHeaderHandler.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/CssLicenseHeaderHandler.java b/wicket-util/src/main/java/org/apache/wicket/util/license/CssLicenseHeaderHandler.java
index 7be607c..eddaaa7 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/CssLicenseHeaderHandler.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/CssLicenseHeaderHandler.java
@@ -20,9 +20,9 @@ import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Assert;
 import org.apache.wicket.util.diff.Diff;
 import org.apache.wicket.util.diff.Revision;
+import org.opentest4j.AssertionFailedError;
 
 class CssLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 {
@@ -55,7 +55,7 @@ class CssLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 		}
 		catch (Exception e)
 		{
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 
 		return revision.size() == 0;

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/JavaLicenseHeaderHandler.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/JavaLicenseHeaderHandler.java b/wicket-util/src/main/java/org/apache/wicket/util/license/JavaLicenseHeaderHandler.java
index bbc0eac..e88a043 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/JavaLicenseHeaderHandler.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/JavaLicenseHeaderHandler.java
@@ -16,15 +16,15 @@
  */
 package org.apache.wicket.util.license;
 
+import org.apache.wicket.util.string.Strings;
+import org.opentest4j.AssertionFailedError;
+
 import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.junit.Assert;
-import org.apache.wicket.util.string.Strings;
-
 class JavaLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 {
 	private final Pattern javaHeaderPattern = Pattern.compile("^(.*?)package.*$",
@@ -64,13 +64,13 @@ class JavaLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 			}
 			else
 			{
-				Assert.fail();
+				throw new AssertionFailedError();
 			}
 		}
 		catch (Exception e)
 		{
 			e.printStackTrace();
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 
 		return added;

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/PropertiesLicenseHeaderHandler.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/PropertiesLicenseHeaderHandler.java b/wicket-util/src/main/java/org/apache/wicket/util/license/PropertiesLicenseHeaderHandler.java
index 98cbbe3..4a0447d 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/PropertiesLicenseHeaderHandler.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/PropertiesLicenseHeaderHandler.java
@@ -16,14 +16,14 @@
  */
 package org.apache.wicket.util.license;
 
+import org.apache.wicket.util.diff.Diff;
+import org.apache.wicket.util.diff.Revision;
+import org.opentest4j.AssertionFailedError;
+
 import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Assert;
-import org.apache.wicket.util.diff.Diff;
-import org.apache.wicket.util.diff.Revision;
-
 class PropertiesLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 {
 	/**
@@ -55,7 +55,7 @@ class PropertiesLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 		}
 		catch (Exception e)
 		{
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 
 		return revision.size() == 0;

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/VelocityLicenseHeaderHandler.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/VelocityLicenseHeaderHandler.java b/wicket-util/src/main/java/org/apache/wicket/util/license/VelocityLicenseHeaderHandler.java
index 6e923b9..2d1286b 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/VelocityLicenseHeaderHandler.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/VelocityLicenseHeaderHandler.java
@@ -16,14 +16,14 @@
  */
 package org.apache.wicket.util.license;
 
+import org.apache.wicket.util.diff.Diff;
+import org.apache.wicket.util.diff.Revision;
+import org.opentest4j.AssertionFailedError;
+
 import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Assert;
-import org.apache.wicket.util.diff.Diff;
-import org.apache.wicket.util.diff.Revision;
-
 class VelocityLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 {
 	/**
@@ -55,7 +55,7 @@ class VelocityLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 		}
 		catch (Exception e)
 		{
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 
 		return revision.size() == 0;

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/XmlLicenseHeaderHandler.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/XmlLicenseHeaderHandler.java b/wicket-util/src/main/java/org/apache/wicket/util/license/XmlLicenseHeaderHandler.java
index 98f1f45..8287622 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/XmlLicenseHeaderHandler.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/XmlLicenseHeaderHandler.java
@@ -16,21 +16,22 @@
  */
 package org.apache.wicket.util.license;
 
+import org.apache.wicket.util.diff.Diff;
+import org.apache.wicket.util.diff.Revision;
+import org.apache.wicket.util.string.Strings;
+import org.opentest4j.AssertionFailedError;
+
 import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.junit.Assert;
-import org.apache.wicket.util.diff.Diff;
-import org.apache.wicket.util.diff.Revision;
-import org.apache.wicket.util.string.Strings;
-
 class XmlLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 {
-	private final Pattern xmlHeader = Pattern.compile("^(\\<\\?xml[^" + LINE_ENDING + "]+?)" +
-		LINE_ENDING + "(.*)$", Pattern.DOTALL | Pattern.MULTILINE);
+	private final Pattern xmlHeader = Pattern.compile(
+		"^(\\<\\?xml[^" + LINE_ENDING + "]+?)" + LINE_ENDING + "(.*)$",
+		Pattern.DOTALL | Pattern.MULTILINE);
 
 	/**
 	 * Construct.
@@ -82,7 +83,7 @@ class XmlLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 		catch (Exception e)
 		{
 			e.printStackTrace();
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 
 		return revision.size() == 0;
@@ -125,7 +126,7 @@ class XmlLicenseHeaderHandler extends AbstractLicenseHeaderHandler
 		}
 		catch (Exception e)
 		{
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
 
 		return added;

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/license/XmlPrologHeaderHandler.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/license/XmlPrologHeaderHandler.java b/wicket-util/src/main/java/org/apache/wicket/util/license/XmlPrologHeaderHandler.java
index 083117b..3d652df 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/license/XmlPrologHeaderHandler.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/license/XmlPrologHeaderHandler.java
@@ -16,12 +16,12 @@
  */
 package org.apache.wicket.util.license;
 
+import org.opentest4j.AssertionFailedError;
+
 import java.io.File;
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.Assert;
-
 class XmlPrologHeaderHandler extends XmlLicenseHeaderHandler
 {
 	/**
@@ -34,12 +34,6 @@ class XmlPrologHeaderHandler extends XmlLicenseHeaderHandler
 		super(ignoreFiles);
 	}
 
-	@Override
-	public List<String> getSuffixes()
-	{
-		return Arrays.asList("html");
-	}
-
 	/**
 	 * @see org.apache.wicket.util.license.XmlLicenseHeaderHandler#checkLicenseHeader(java.io.File)
 	 */
@@ -53,8 +47,13 @@ class XmlPrologHeaderHandler extends XmlLicenseHeaderHandler
 		}
 		catch (Exception e)
 		{
-			Assert.fail(e.getMessage());
+			throw new AssertionFailedError(e.getMessage());
 		}
-		return true;
+	}
+
+	@Override
+	public List<String> getSuffixes()
+	{
+		return Arrays.asList("html");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/main/java/org/apache/wicket/util/markup/xhtml/WellFormedXmlTestCase.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/markup/xhtml/WellFormedXmlTestCase.java b/wicket-util/src/main/java/org/apache/wicket/util/markup/xhtml/WellFormedXmlTestCase.java
index ecdc856..bf330de 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/markup/xhtml/WellFormedXmlTestCase.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/markup/xhtml/WellFormedXmlTestCase.java
@@ -16,23 +16,19 @@
  */
 package org.apache.wicket.util.markup.xhtml;
 
+import org.junit.jupiter.api.Test;
+import org.testng.annotations.Test;
+import org.xml.sax.*;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 import java.io.File;
 import java.io.FileFilter;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.junit.Test;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
 /**
  * Usable by tests to check that the html markup files are well formed.
  * 

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/LongEncoderTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/LongEncoderTest.java b/wicket-util/src/test/java/org/apache/wicket/util/LongEncoderTest.java
index c3731bb..4d5444b 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/LongEncoderTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/LongEncoderTest.java
@@ -16,11 +16,13 @@
  */
 package org.apache.wicket.util;
 
+import org.junit.jupiter.api.Test;
+
 import java.util.HashSet;
 import java.util.Set;
 
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 
 /**
  * Tests {@link LongEncoder}
@@ -39,9 +41,9 @@ public class LongEncoderTest
 		for (int i = -10000; i < 10000; i++)
 		{
 			String enc = LongEncoder.encode(i);
-			Assert.assertFalse("uniqueness: " + i, encoded.contains(enc));
+			assertFalse(encoded.contains(enc), "uniqueness: " + i);
 			encoded.add(enc);
-			Assert.assertEquals("decoding: " + i, i, LongEncoder.decode(enc));
+			assertEquals(i, LongEncoder.decode(enc), "decoding: " + i);
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/collections/IntHashMapTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/collections/IntHashMapTest.java b/wicket-util/src/test/java/org/apache/wicket/util/collections/IntHashMapTest.java
index b5c7da1..4f8fdca 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/collections/IntHashMapTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/collections/IntHashMapTest.java
@@ -16,18 +16,16 @@
  */
 package org.apache.wicket.util.collections;
 
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.junit.Assert.*;
+import org.apache.wicket.util.io.ByteArrayOutputStream;
+import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 
-import org.apache.wicket.util.io.ByteArrayOutputStream;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 @SuppressWarnings("javadoc")
 public class IntHashMapTest
@@ -48,9 +46,9 @@ public class IntHashMapTest
 		ByteArrayInputStream bais = new ByteArrayInputStream(serialized);
 		ObjectInputStream ois = new ObjectInputStream(bais);
 		IntHashMap<String> deserialized = (IntHashMap<String>) ois.readObject();
-		assertThat(deserialized, is(notNullValue()));
-		assertThat(deserialized.get(1), is(equalTo("one")));
-		assertThat(deserialized.get(2), is(equalTo("two")));
+		assertNotNull(deserialized);
+		assertEquals(deserialized.get(1), "one");
+		assertEquals(deserialized.get(2), "two");
 
 		// WICKET-5584
 		deserialized.put(3, "three");

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/collections/MicroMapTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/collections/MicroMapTest.java b/wicket-util/src/test/java/org/apache/wicket/util/collections/MicroMapTest.java
index a26919b..ba7234a 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/collections/MicroMapTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/collections/MicroMapTest.java
@@ -16,20 +16,17 @@
  */
 package org.apache.wicket.util.collections;
 
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
+import org.junit.jupiter.api.Test;
+
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.NoSuchElementException;
-import java.util.Set;
 
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.*;
 
 /**
  * @author almaw
  */
-public class MicroMapTest extends Assert
+public class MicroMapTest
 {
 	private static final Object FOO = new Object();
 	private static final Object BAR = new Object();

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/collections/MiniMapTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/collections/MiniMapTest.java b/wicket-util/src/test/java/org/apache/wicket/util/collections/MiniMapTest.java
index ab0896d..a64c987 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/collections/MiniMapTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/collections/MiniMapTest.java
@@ -16,20 +16,17 @@
  */
 package org.apache.wicket.util.collections;
 
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
+import org.junit.jupiter.api.Test;
+
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.NoSuchElementException;
-import java.util.Set;
 
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.*;
 
 /**
  * @author almaw
  */
-public class MiniMapTest extends Assert
+public class MiniMapTest
 {
 	private static final Object FOO = new Object();
 	private static final Object BAR = new Object();

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/collections/MostRecentlyUsedMapTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/collections/MostRecentlyUsedMapTest.java b/wicket-util/src/test/java/org/apache/wicket/util/collections/MostRecentlyUsedMapTest.java
index 8a95d73..717fd4f 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/collections/MostRecentlyUsedMapTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/collections/MostRecentlyUsedMapTest.java
@@ -16,10 +16,10 @@
  */
 package org.apache.wicket.util.collections;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.junit.jupiter.api.Test;
 
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * 

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/collections/ReverseListIteratorTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/collections/ReverseListIteratorTest.java b/wicket-util/src/test/java/org/apache/wicket/util/collections/ReverseListIteratorTest.java
index 4fa5695..e4916db 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/collections/ReverseListIteratorTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/collections/ReverseListIteratorTest.java
@@ -16,16 +16,17 @@
  */
 package org.apache.wicket.util.collections;
 
+import org.junit.jupiter.api.Test;
+
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Tests for {@link ReverseListIterator}
  */
-public class ReverseListIteratorTest extends Assert
+public class ReverseListIteratorTest
 {
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/BigIntegerConverterTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/BigIntegerConverterTest.java b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/BigIntegerConverterTest.java
index 479be0e..a62f597 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/BigIntegerConverterTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/BigIntegerConverterTest.java
@@ -16,15 +16,17 @@
  */
 package org.apache.wicket.util.convert.converter;
 
+import org.apache.wicket.util.convert.ConversionException;
+import org.junit.jupiter.api.Test;
+
 import java.math.BigInteger;
 import java.util.Locale;
 
-import org.apache.wicket.util.convert.ConversionException;
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 @SuppressWarnings("javadoc")
-public class BigIntegerConverterTest extends Assert
+public class BigIntegerConverterTest
 {
 	@Test
 	public void positiveInteger()
@@ -76,10 +78,13 @@ public class BigIntegerConverterTest extends Assert
 		assertEquals("-1234567890987654321234567890987654321234567890987654321", bigInteger.toString());
 	}
 
-	@Test(expected = ConversionException.class)
+	@Test
 	public void nan()
 	{
-		BigIntegerConverter converter = new BigIntegerConverter();
-		converter.convertToObject("a12345a", Locale.GERMAN);
+		assertThrows(ConversionException.class, () -> {
+			BigIntegerConverter converter = new BigIntegerConverter();
+			converter.convertToObject("a12345a", Locale.GERMAN);
+		});
+
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateConverterTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateConverterTest.java b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateConverterTest.java
index 4058e32..f3fc687 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateConverterTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateConverterTest.java
@@ -16,33 +16,31 @@
  */
 package org.apache.wicket.util.convert.converter;
 
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
+import org.apache.wicket.util.convert.ConversionException;
+import org.junit.jupiter.api.Test;
 
 import java.time.LocalDate;
 import java.util.Locale;
 
-import org.apache.wicket.util.convert.ConversionException;
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Tests for {@link LocalDateConverter}
  */
-public class LocalDateConverterTest extends Assert
+public class LocalDateConverterTest
 {
 	@Test
 	public void convertToString() {
 		LocalDateConverter converter = new LocalDateConverter();
 		String date = converter.convertToString(LocalDate.of(2016, 7, 11), Locale.ENGLISH);
-		assertThat(date, is(equalTo("7/11/16")));
+		assertEquals(date, "7/11/16");
 	}
 
 	@Test
 	public void convertToObject() {
 		LocalDateConverter converter = new LocalDateConverter();
 		LocalDate date = converter.convertToObject("7/11/16", Locale.ENGLISH);
-		assertThat(date, is(equalTo(LocalDate.of(2016, 7, 11))));
+		assertEquals(date, LocalDate.of(2016, 7, 11));
 	}
 	
 	@Test

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateTimeConverterTest.java b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateTimeConverterTest.java
index 5ca8182..821d469 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateTimeConverterTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalDateTimeConverterTest.java
@@ -16,33 +16,31 @@
  */
 package org.apache.wicket.util.convert.converter;
 
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
+import org.apache.wicket.util.convert.ConversionException;
+import org.junit.jupiter.api.Test;
 
 import java.time.LocalDateTime;
 import java.util.Locale;
 
-import org.apache.wicket.util.convert.ConversionException;
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Tests for {@link LocalDateTimeConverter}
  */
-public class LocalDateTimeConverterTest extends Assert
+public class LocalDateTimeConverterTest
 {
 	@Test
 	public void convertToString() {
 		LocalDateTimeConverter converter = new LocalDateTimeConverter();
 		String date = converter.convertToString(LocalDateTime.of(2016, 7, 11, 1, 2, 3), Locale.ENGLISH);
-		assertThat(date, is(equalTo("Jul 11, 2016, 1:02:03 AM")));
+		assertEquals(date, "Jul 11, 2016, 1:02:03 AM");
 	}
 
 	@Test
 	public void convertToObject() {
 		LocalDateTimeConverter converter = new LocalDateTimeConverter();
 		LocalDateTime date = converter.convertToObject("Jul 11, 2016, 1:02:03 AM", Locale.ENGLISH);
-		assertThat(date, is(equalTo(LocalDateTime.of(2016, 7, 11, 1, 2, 3))));
+		assertEquals(date, LocalDateTime.of(2016, 7, 11, 1, 2, 3));
 	}
 	
 	@Test

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalTimeConverterTest.java b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalTimeConverterTest.java
index 7c36b20..3234e4d 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalTimeConverterTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/LocalTimeConverterTest.java
@@ -16,33 +16,31 @@
  */
 package org.apache.wicket.util.convert.converter;
 
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
+import org.apache.wicket.util.convert.ConversionException;
+import org.junit.jupiter.api.Test;
 
 import java.time.LocalTime;
 import java.util.Locale;
 
-import org.apache.wicket.util.convert.ConversionException;
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Tests for {@link LocalTimeConverter}
  */
-public class LocalTimeConverterTest extends Assert
+public class LocalTimeConverterTest
 {
 	@Test
 	public void convertToString() {
 		LocalTimeConverter converter = new LocalTimeConverter();
 		String time = converter.convertToString(LocalTime.of(1, 2, 3), Locale.ENGLISH);
-		assertThat(time, is(equalTo("01:02:03")));
+		assertEquals(time, "01:02:03");
 	}
 
 	@Test
 	public void convertToObject() {
 		LocalTimeConverter converter = new LocalTimeConverter();
 		LocalTime time = converter.convertToObject("01:02:03", Locale.ENGLISH);
-		assertThat(time, is(equalTo(LocalTime.of(1, 2, 3))));
+		assertEquals(time, LocalTime.of(1, 2, 3));
 	}
 	
 	@Test

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/ZonedDateTimeConverterTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/ZonedDateTimeConverterTest.java b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/ZonedDateTimeConverterTest.java
index d40a640..0761b85 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/ZonedDateTimeConverterTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/convert/converter/ZonedDateTimeConverterTest.java
@@ -16,21 +16,19 @@
  */
 package org.apache.wicket.util.convert.converter;
 
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
+import org.apache.wicket.util.convert.ConversionException;
+import org.junit.jupiter.api.Test;
 
 import java.time.ZoneId;
 import java.time.ZonedDateTime;
 import java.util.Locale;
 
-import org.apache.wicket.util.convert.ConversionException;
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Tests for {@link ZonedDateTimeConverter}
  */
-public class ZonedDateTimeConverterTest extends Assert
+public class ZonedDateTimeConverterTest
 {
 	private ZoneId zone = ZoneId.of("Etc/UCT");
 
@@ -38,14 +36,14 @@ public class ZonedDateTimeConverterTest extends Assert
 	public void convertToString() {
 		ZonedDateTimeConverter converter = new ZonedDateTimeConverter();
 		String date = converter.convertToString(ZonedDateTime.of(2016, 7, 11, 1, 2, 3, 0, zone), Locale.ENGLISH);
-		assertThat(date, is(equalTo("Jul 11, 2016, 1:02:03 AM Coordinated Universal Time")));
+		assertEquals(date, "Jul 11, 2016, 1:02:03 AM Coordinated Universal Time");
 	}
 
 	@Test
 	public void convertToObject() {
 		ZonedDateTimeConverter converter = new ZonedDateTimeConverter();
 		ZonedDateTime date = converter.convertToObject("Jul 11, 2016, 1:02:03 AM Coordinated Universal Time", Locale.ENGLISH);
-		assertThat(date, is(equalTo(ZonedDateTime.of(2016, 7, 11, 1, 2, 3, 0, zone))));
+		assertEquals(date, ZonedDateTime.of(2016, 7, 11, 1, 2, 3, 0, zone));
 	}
 	
 	@Test

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/crypt/Base64Test.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/crypt/Base64Test.java b/wicket-util/src/test/java/org/apache/wicket/util/crypt/Base64Test.java
index 708ddc4..15c5a04 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/crypt/Base64Test.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/crypt/Base64Test.java
@@ -16,18 +16,19 @@
  */
 package org.apache.wicket.util.crypt;
 
+import org.junit.jupiter.api.Test;
+
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Random;
 
-import org.junit.Assert;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * 
  * @author Juergen Donnerstag
  */
-public class Base64Test extends Assert
+public class Base64Test
 {
 	/**
 	 * @throws IOException

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/crypt/SunJceCryptTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/crypt/SunJceCryptTest.java b/wicket-util/src/test/java/org/apache/wicket/util/crypt/SunJceCryptTest.java
index bd1ffa1..fdd3164 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/crypt/SunJceCryptTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/crypt/SunJceCryptTest.java
@@ -16,20 +16,17 @@
  */
 package org.apache.wicket.util.crypt;
 
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
+import org.junit.jupiter.api.Assumptions;
+import org.junit.jupiter.api.Test;
 
+import javax.crypto.Cipher;
 import java.security.GeneralSecurityException;
 import java.security.NoSuchAlgorithmException;
 
-import javax.crypto.Cipher;
-
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 @SuppressWarnings("javadoc")
-public class SunJceCryptTest extends Assert
+public class SunJceCryptTest
 {
 	/**
 	 * Default encryption uses {@value org.apache.wicket.util.crypt.SunJceCrypt#DEFAULT_CRYPT_METHOD}
@@ -42,7 +39,7 @@ public class SunJceCryptTest extends Assert
 		byte[] encrypted = crypt.crypt(input.getBytes(), Cipher.ENCRYPT_MODE);
 
 		byte[] decrypted = crypt.crypt(encrypted, Cipher.DECRYPT_MODE);
-		assertThat(new String(decrypted), is(equalTo(input)));
+		assertEquals(new String(decrypted), input);
 	}
 
 	/**
@@ -52,14 +49,14 @@ public class SunJceCryptTest extends Assert
 	public void customPBEEncryption() throws GeneralSecurityException
 	{
 		boolean unlimitedStrengthJurisdictionPolicyInstalled = isUnlimitedStrengthJurisdictionPolicyInstalled();
-		Assume.assumeThat(unlimitedStrengthJurisdictionPolicyInstalled, is(true));
+		Assumptions.assumeTrue(unlimitedStrengthJurisdictionPolicyInstalled);
 
 		SunJceCrypt crypt = new SunJceCrypt("PBEWithMD5AndTripleDES");
 		String input = "input";
 		byte[] encrypted = crypt.crypt(input.getBytes(), Cipher.ENCRYPT_MODE);
 
 		byte[] decrypted = crypt.crypt(encrypted, Cipher.DECRYPT_MODE);
-		assertThat(new String(decrypted), is(equalTo(input)));
+		assertEquals(new String(decrypted), input);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/crypt/UnlimitedStrengthJurisdictionPolicyTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/crypt/UnlimitedStrengthJurisdictionPolicyTest.java b/wicket-util/src/test/java/org/apache/wicket/util/crypt/UnlimitedStrengthJurisdictionPolicyTest.java
index 0dfc711..f36e4b8 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/crypt/UnlimitedStrengthJurisdictionPolicyTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/crypt/UnlimitedStrengthJurisdictionPolicyTest.java
@@ -16,12 +16,8 @@
  */
 package org.apache.wicket.util.crypt;
 
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-
-import java.security.AlgorithmParameters;
-import java.security.GeneralSecurityException;
-import java.security.spec.KeySpec;
+import org.junit.jupiter.api.Assumptions;
+import org.junit.jupiter.api.Test;
 
 import javax.crypto.Cipher;
 import javax.crypto.SecretKey;
@@ -29,23 +25,24 @@ import javax.crypto.SecretKeyFactory;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.PBEKeySpec;
 import javax.crypto.spec.SecretKeySpec;
+import java.security.AlgorithmParameters;
+import java.security.GeneralSecurityException;
+import java.security.spec.KeySpec;
 
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * A demo how to create {@link org.apache.wicket.util.crypt.ICrypt} implementation that
  * uses <em>PBKDF2WithHmacSHA1</em> for encryption
  */
 @SuppressWarnings("javadoc")
-public class UnlimitedStrengthJurisdictionPolicyTest extends Assert
+public class UnlimitedStrengthJurisdictionPolicyTest
 {
 	@Test
 	public void unlimitedStrengthJurisdictionEncryption() throws GeneralSecurityException
 	{
 		boolean unlimitedStrengthJurisdictionPolicyInstalled = SunJceCryptTest.isUnlimitedStrengthJurisdictionPolicyInstalled();
-		Assume.assumeThat(unlimitedStrengthJurisdictionPolicyInstalled, is(true));
+		Assumptions.assumeTrue(unlimitedStrengthJurisdictionPolicyInstalled);
 
 		AbstractCrypt crypt = new UnlimitedStrenghtJurisdictionPolicyCrypt();
 
@@ -56,10 +53,10 @@ public class UnlimitedStrengthJurisdictionPolicyTest extends Assert
 		byte[] encrypted2 = crypt.crypt(input2.getBytes(), Cipher.ENCRYPT_MODE);
 
 		byte[] decrypted = crypt.crypt(encrypted, Cipher.DECRYPT_MODE);
-		assertThat(new String(decrypted), is(equalTo(input1)));
+		assertEquals(new String(decrypted), input1);
 
 		byte[] decrypted2 = crypt.crypt(encrypted2, Cipher.DECRYPT_MODE);
-		assertThat(new String(decrypted2), is(equalTo(input2)));
+		assertEquals(new String(decrypted2),input2);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/978ea5cb/wicket-util/src/test/java/org/apache/wicket/util/encoding/UrlDecoderTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/encoding/UrlDecoderTest.java b/wicket-util/src/test/java/org/apache/wicket/util/encoding/UrlDecoderTest.java
index 9b01915..2db3f52 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/encoding/UrlDecoderTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/encoding/UrlDecoderTest.java
@@ -16,9 +16,9 @@
  */
 package org.apache.wicket.util.encoding;
 
-import static org.junit.Assert.assertEquals;
+import org.junit.jupiter.api.Test;
 
-import org.junit.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 @SuppressWarnings("javadoc")
 public class UrlDecoderTest