JCRVLT-772 Convert JUnit3 to JUnit4 test cases
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/PathMappingTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/PathMappingTest.java
index 28b543f..f01c20d 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/PathMappingTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/PathMappingTest.java
@@ -18,7 +18,7 @@
 
 import org.junit.Test;
 
-import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertEquals;
 
 /**
  * {@code PathMappingTest}...
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/RepositoryAddressTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/RepositoryAddressTest.java
index cd61719..a5fc2bd 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/RepositoryAddressTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/api/RepositoryAddressTest.java
@@ -17,18 +17,21 @@
 
 package org.apache.jackrabbit.vault.fs.api;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
 import javax.jcr.SimpleCredentials;
 
 import org.apache.jackrabbit.util.Text;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * {@code RepAddrTest}...
  *
  */
-public class RepositoryAddressTest extends TestCase {
+public class RepositoryAddressTest {
 
+    @Test
     public void testEmpty() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("url://localhost:1234/");
         assertEquals("scheme", "url", ra.getSpecificURI().getScheme());
@@ -40,6 +43,7 @@
         assertEquals("toString", "url://localhost:1234/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testSpaces() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("url://localhost:1234/-/jcr:root/etc/packages/a%20b");
         assertEquals("scheme", "url", ra.getSpecificURI().getScheme());
@@ -51,6 +55,7 @@
         assertEquals("toString", "url://localhost:1234/-/jcr:root/etc/packages/a%20b", ra.toString());
     }
 
+    @Test
     public void testReallyEmpty() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("url://localhost:1234");
         assertEquals("scheme", "url", ra.getSpecificURI().getScheme());
@@ -62,6 +67,7 @@
         assertEquals("toString", "url://localhost:1234/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testWspOnly() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("url://localhost:1234/workspace");
         assertEquals("scheme", "url", ra.getSpecificURI().getScheme());
@@ -73,6 +79,7 @@
         assertEquals("toString", "url://localhost:1234/workspace/jcr:root", ra.toString());
     }
 
+    @Test
     public void testWspOnlyTrailingSlash() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("url://localhost:1234/workspace/");
         assertEquals("scheme", "url", ra.getSpecificURI().getScheme());
@@ -84,6 +91,7 @@
         assertEquals("toString", "url://localhost:1234/workspace/jcr:root", ra.toString());
     }
 
+    @Test
     public void testPrefix() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace");
         assertEquals("scheme", "http", ra.getSpecificURI().getScheme());
@@ -95,6 +103,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root", ra.toString());
     }
 
+    @Test
     public void testRoot() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace/jcr:root");
         assertEquals("scheme", "http", ra.getSpecificURI().getScheme());
@@ -106,6 +115,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root", ra.toString());
     }
 
+    @Test
     public void testRootTrailingSlash() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace/jcr:root/");
         assertEquals("scheme", "http", ra.getSpecificURI().getScheme());
@@ -117,6 +127,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root", ra.toString());
     }
 
+    @Test
     public void testPath() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo/bar");
         assertEquals("scheme", "http", ra.getSpecificURI().getScheme());
@@ -128,6 +139,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testPathTrailingSlash() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo/bar/");
         assertEquals("scheme", "http", ra.getSpecificURI().getScheme());
@@ -139,6 +151,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testResolve() throws Exception {
         RepositoryAddress ra = 
                 new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace")
@@ -152,6 +165,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testResolveSpecial() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace")
@@ -165,6 +179,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo%20bar/bar", ra.toString());
     }
 
+    @Test
     public void testResolveDefaultWsp() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:1234/pfx1/pfx2/-")
@@ -178,6 +193,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/-/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testResolveRel() throws Exception {
         RepositoryAddress ra = 
                 new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo")
@@ -191,6 +207,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testResolveRelSpecial() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo%20bar")
@@ -204,6 +221,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/workspace/jcr:root/foo%20bar/foo%20bar", ra.toString());
     }
 
+    @Test
     public void testResolveRelDefaultWsp() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:1234/pfx1/pfx2/-/jcr:root/foo")
@@ -217,6 +235,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/-/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testDefaultWorkspace() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:1234/pfx1/pfx2/-/jcr:root/foo");
@@ -229,6 +248,7 @@
         assertEquals("toString", "http://localhost:1234/pfx1/pfx2/-/jcr:root/foo", ra.toString());
     }
 
+    @Test
     public void testRmiBWC() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("rmi://localhost:1234/crx");
@@ -241,6 +261,7 @@
         assertEquals("toString", "rmi://localhost:1234/crx/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testRmiBWC2() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("rmi://localhost:1234/crx/crx.default");
@@ -253,6 +274,7 @@
         assertEquals("toString", "rmi://localhost:1234/crx/crx.default/jcr:root", ra.toString());
     }
 
+    @Test
     public void testRmiBWC3() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("rmi://localhost:1234/crx/crx.default/foo/bar");
@@ -265,6 +287,7 @@
         assertEquals("toString", "rmi://localhost:1234/crx/crx.default/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testHttpConvenience1() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:8080/");
@@ -277,6 +300,7 @@
         assertEquals("toString", "http://localhost:8080/crx/server/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testHttpConvenience2() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:8080/crx");
@@ -289,6 +313,7 @@
         assertEquals("toString", "http://localhost:8080/crx/server/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testHttpConvenience3() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:8080/crx/server");
@@ -301,6 +326,7 @@
         assertEquals("toString", "http://localhost:8080/crx/server/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testHttpConvenience4() throws Exception {
         RepositoryAddress ra =
                 new RepositoryAddress("http://localhost:8080/-/jcr:root");
@@ -313,6 +339,7 @@
         assertEquals("toString", "http://localhost:8080/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testRelative() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("/");
         assertEquals("scheme", null, ra.getSpecificURI().getScheme());
@@ -324,6 +351,7 @@
         assertEquals("toString", "/-/jcr:root", ra.toString());
     }
 
+    @Test
     public void testRelative1() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("/wsp/");
         assertEquals("scheme", null, ra.getSpecificURI().getScheme());
@@ -335,6 +363,7 @@
         assertEquals("toString", "/wsp/jcr:root", ra.toString());
     }
 
+    @Test
     public void testRelative2() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("/wsp/bar");
         assertEquals("scheme", null, ra.getSpecificURI().getScheme());
@@ -346,6 +375,7 @@
         assertEquals("toString", "/wsp/jcr:root/bar", ra.toString());
     }
 
+    @Test
     public void testRelative3() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("/wsp/foo/bar");
         assertEquals("scheme", null, ra.getSpecificURI().getScheme());
@@ -357,6 +387,7 @@
         assertEquals("toString", "/wsp/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testRelative4() throws Exception {
         RepositoryAddress ra = new RepositoryAddress("/-/foo/bar");
         assertEquals("scheme", null, ra.getSpecificURI().getScheme());
@@ -368,6 +399,7 @@
         assertEquals("toString", "/-/jcr:root/foo/bar", ra.toString());
     }
 
+    @Test
     public void testCopyIsSame() throws Exception {
         String uri = "http://admin:admin@localhost:4502/crx/server/-/jcr:root/content/dam/my-site";
         RepositoryAddress ra = new RepositoryAddress(uri);
@@ -375,6 +407,7 @@
         assertEquals("uri", uri, ra1.getURI().toString());
     }
 
+    @Test
     public void testToStringHttpWithUserInfo() throws Exception {
         String creds = "foo:bar";
         RepositoryAddress ra = new RepositoryAddress("http://" + creds + "@localhost:8080/-/jcr:root");
@@ -383,6 +416,7 @@
         assertFalse("toString should not contain credentials [" + toString + "]", toString.contains(creds));
     }
 
+    @Test
     public void testToStringHttpWithUserInfoEscaped() throws Exception {
         String creds = "my-user:" + Text.escape("p!@#$%^&*ass");
         RepositoryAddress ra = new RepositoryAddress("http://" + creds + "@localhost:8080/-/jcr:root");
@@ -391,6 +425,7 @@
         assertFalse("toString should not contain credentials [" + toString + "]", toString.contains(creds));
     }
 
+    @Test
     public void testGetCredentials() throws Exception {
         String user = "my-user";
         String password = "p!@#$%^&*ass";
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/filter/FilterSetTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/filter/FilterSetTest.java
index 5b929de..b29665d 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/filter/FilterSetTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/fs/filter/FilterSetTest.java
@@ -17,21 +17,24 @@
 
 package org.apache.jackrabbit.vault.fs.filter;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import org.apache.jackrabbit.vault.fs.api.FilterSet;
 import org.apache.jackrabbit.vault.fs.api.ImportMode;
 import org.apache.jackrabbit.vault.fs.api.PathFilterSet;
 import org.apache.jackrabbit.vault.fs.config.ConfigurationException;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  *
  */
-public class FilterSetTest extends TestCase {
+public class FilterSetTest {
 
     /**
      * Test if 2 filter sets are not equal if they only differ in root path (JCRVLT-81)
      */
+    @Test
     public void testEqualsNoEntries() {
         FilterSet f1 = new PathFilterSet("/foo").seal();
         FilterSet f2 = new PathFilterSet("/bar").seal();
@@ -42,6 +45,7 @@
     /**
      * Test if 2 filter sets equals does work if they are not sealed (JCRVLT-81)
      */
+    @Test
     public void testEqualsNoSeal() {
         FilterSet f1 = new PathFilterSet("/foo");
         FilterSet f2 = new PathFilterSet("/foo");
@@ -53,6 +57,7 @@
      * Test if 2 filter sets are equal if they only differ in import mode. this is a condition that has undefined
      * behavior
      */
+    @Test
     public void testEqualsImportMode() {
         FilterSet f1 = new PathFilterSet("/foo");
         FilterSet f2 = new PathFilterSet("/foo");
@@ -65,6 +70,7 @@
     /**
      * Test if 2 filter sets are equal
      */
+    @Test
     public void testEquals() throws ConfigurationException {
         PathFilterSet f1 = new PathFilterSet("/foo");
         f1.addInclude(new DefaultPathFilter("/foo/bar(/.*)?"));
@@ -80,6 +86,7 @@
     /**
      * Test if 2 filter sets are not equal if the filter differs in sign.
      */
+    @Test
     public void testNotEquals() throws ConfigurationException {
         PathFilterSet f1 = new PathFilterSet("/foo");
         f1.addInclude(new DefaultPathFilter("/foo/bar(/.*)?"));
@@ -95,6 +102,7 @@
     /**
      * Test if 2 filter sets are not equal if the filter differs pattern
      */
+    @Test
     public void testNotEquals2() throws ConfigurationException {
         PathFilterSet f1 = new PathFilterSet("/foo");
         f1.addInclude(new DefaultPathFilter("/foo/bar(/.*)?"));
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DepResolverTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DepResolverTest.java
index d9c7b2c..9fc2096 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DepResolverTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DepResolverTest.java
@@ -17,16 +17,19 @@
 
 package org.apache.jackrabbit.vault.packaging;
 
+import static org.junit.Assert.fail;
+
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
-import junit.framework.TestCase;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * {@code DepResolverTest}...
  */
-public class DepResolverTest extends TestCase {
+public class DepResolverTest {
 
     public static PackageId P1 = PackageId.fromString("foo:pack1:1.0");
     public static PackageId P2 = PackageId.fromString("foo:pack2:1.0");
@@ -40,6 +43,7 @@
     public static Dependency D4 = Dependency.fromString("foo:pack4:1.0");
     public static Dependency D5 = Dependency.fromString("foo:pack5:1.0");
 
+    @Test
     public void testLinear() throws CyclicDependencyException {
         Map<PackageId, Dependency[]> deps = new LinkedHashMap<PackageId, Dependency[]>();
         // p1 -> p2, p3
@@ -59,6 +63,7 @@
         assertEquals("package list", expect, result);
     }
 
+    @Test
     public void testLinear2() throws CyclicDependencyException {
         Map<PackageId, Dependency[]> deps = new LinkedHashMap<PackageId, Dependency[]>();
         // p3 -> p4, p5
@@ -78,6 +83,7 @@
         assertEquals("package list", expect, result);
     }
 
+    @Test
     public void testMissing() throws Exception {
         Map<PackageId, Dependency[]> deps = new LinkedHashMap<PackageId, Dependency[]>();
         // p3 -> p4, p5
@@ -95,6 +101,7 @@
         assertEquals("package list", expect, result);
     }
 
+    @Test
     public void testCircular() throws Exception {
         Map<PackageId, Dependency[]> deps = new LinkedHashMap<PackageId, Dependency[]>();
         // p1 -> p2
@@ -120,6 +127,6 @@
         for (PackageId pid: result) {
             resStr+=pid.toString() + "\n";
         }
-        assertEquals(msg, expStr, resStr);
+        Assert.assertEquals(msg, expStr, resStr);
     }
 }
\ No newline at end of file
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DependencyTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DependencyTest.java
index ca17c49..41dd5b5 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DependencyTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/DependencyTest.java
@@ -17,13 +17,17 @@
 
 package org.apache.jackrabbit.vault.packaging;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
 
 /**
  * {@code DependencyTest}...
  */
-public class DependencyTest extends TestCase {
+public class DependencyTest {
 
+    @Test
     public void testFromString() {
         Dependency d = Dependency.fromString("group:name:[1.0,2.0]");
         assertEquals("group", d.getGroup());
@@ -31,6 +35,7 @@
         assertEquals("[1.0,2.0]", d.getRange().toString());
     }
 
+    @Test
     public void testFromString2() {
         Dependency d = Dependency.fromString("name");
         assertEquals("", d.getGroup());
@@ -38,6 +43,7 @@
         assertEquals(VersionRange.INFINITE, d.getRange());
     }
 
+    @Test
     public void testFromString3() {
         Dependency d = Dependency.fromString("group:name");
         assertEquals("group", d.getGroup());
@@ -45,6 +51,7 @@
         assertEquals(VersionRange.INFINITE, d.getRange());
     }
 
+    @Test
     public void testFromString4() {
         Dependency d = Dependency.fromString("foo/bar/group/name");
         assertEquals("foo/bar/group", d.getGroup());
@@ -52,6 +59,7 @@
         assertEquals(VersionRange.INFINITE, d.getRange());
     }
 
+    @Test
     public void testFromString41() {
         Dependency d = Dependency.fromString("foo/bar/group:name");
         assertEquals("foo/bar/group", d.getGroup());
@@ -59,6 +67,7 @@
         assertEquals(VersionRange.INFINITE, d.getRange());
     }
 
+    @Test
     public void testFromString5() {
         Dependency d = Dependency.fromString("foo/bar/group/name:[1.0,2.0]");
         assertEquals("foo/bar/group", d.getGroup());
@@ -66,32 +75,38 @@
         assertEquals("[1.0,2.0]", d.getRange().toString());
     }
 
+    @Test
     public void testToString() {
         Dependency d = new Dependency("group", "name", VersionRange.fromString("[1.0, 2.0]"));
         assertEquals("group:name:[1.0,2.0]", d.toString());
     }
 
+    @Test
     public void testToString2() {
         Dependency d = new Dependency("", "name", VersionRange.fromString("[1.0, 2.0]"));
         assertEquals(":name:[1.0,2.0]", d.toString());
     }
 
+    @Test
     public void testToString3() {
         Dependency d = new Dependency("", "name", null);
         assertEquals("name", d.toString());
     }
 
+    @Test
     public void testToString4() {
         Dependency d = new Dependency("group", "name", null);
         assertEquals("group:name", d.toString());
     }
 
+    @Test
     public void testToString5() {
         PackageId id = new PackageId("group", "name", Version.EMPTY);
         Dependency d = new Dependency(id);
         assertEquals("group:name", d.toString());
     }
 
+    @Test
     public void testParse() {
         Dependency[] d = Dependency.parse("name1,group2:name2,group3:name3:1.0,group4:name4:[1.0,2.0],:name5:[1.0,2.0]");
         assertEquals(5,d.length);
@@ -102,24 +117,28 @@
         assertEquals(":name5:[1.0,2.0]", d[4].toString());
     }
 
+    @Test
     public void testMatches() {
         PackageId id = PackageId.fromString("apache/jackrabbit/product:jcr-content:5.5.0-SNAPSHOT.20111116");
         Dependency d = Dependency.fromString("apache/jackrabbit/product:jcr-content:[5.5.0-SNAPSHOT,)");
         assertTrue(d.matches(id));
     }
 
+    @Test
     public void testAddDependency() {
         Dependency[] d = Dependency.parse("n1,g2:n2,g3:n3:1,g4:n4:[1,2]");
         String expected = "n1,g2:n2,g3:n3:1,g4:n4:[1,2],n5:g5:[1,2]";
         assertEquals(expected, Dependency.toString(DependencyUtil.add(d, Dependency.fromString("n5:g5:[1,2]"))));
     }
 
+    @Test
     public void testAddDependencyExisting() {
         Dependency[] d = Dependency.parse("n1,g2:n2,g3:n3:1,g4:n4:[1,2]");
         String expected = "n1,g2:n2,g3:n3:1,g4:n4:[1,2]";
         assertEquals(expected, Dependency.toString(DependencyUtil.add(d, Dependency.fromString("g3:n3"))));
     }
 
+    @Test
     public void testAddDependencyNullName() {
         Dependency[] d = Dependency.parse("n1,g2:n2,g3:n3:1,g4:n4:[1,2]");
         String expected = "n1,g2:n2,g3:n3:1,g4:n4:[1,2],g3";
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/PackageIdTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/PackageIdTest.java
index 2cafb6c..def9c26 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/PackageIdTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/PackageIdTest.java
@@ -17,100 +17,134 @@
 
 package org.apache.jackrabbit.vault.packaging;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * {@code PackageIdTest}...
  */
-public class PackageIdTest extends TestCase {
+public class PackageIdTest {
 
+    @Test
     public void testToString() {
         PackageId packId = new PackageId("group", "name", "version");
         assertEquals("group:name:version", packId.toString());
     }
 
     @SuppressWarnings("deprecation")
+    @Test
     public void testToInstallPath() {
         PackageId packId = new PackageId("group", "name", "version");
         assertEquals("/etc/packages/group/name-version", packId.getInstallationPath());
     }
 
     @SuppressWarnings("deprecation")
+    @Test
     public void testToInstallPath1() {
         PackageId packId = new PackageId("group", "name", "");
         assertEquals("/etc/packages/group/name", packId.getInstallationPath());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromPath() {
         PackageId packId = new PackageId("/etc/packages/apache/jackrabbit/hotfix/name.zip", "1.0");
         assertEquals("apache/jackrabbit/hotfix:name:1.0", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromPath1() {
         PackageId packId = new PackageId("/etc/packages/name-1.0.zip", "1.0");
         assertEquals(":name:1.0", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromPath2() {
         PackageId packId = new PackageId("apache/jackrabbit/hotfix/name", "1.0");
         assertEquals("apache/jackrabbit/hotfix:name:1.0", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromPath3() {
         PackageId packId = new PackageId("name.zip", "1.0");
         assertEquals(":name:1.0", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromPath4() {
         PackageId packId = new PackageId("name", (Version) null);
         assertEquals(":name", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromPath5() {
         PackageId packId = new PackageId("hotfix/name-1.0", "2.0");
         assertEquals("hotfix:name-1.0:2.0", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromVPath() {
         PackageId packId = new PackageId("/etc/packages/apache/jackrabbit/hotfix/name.zip");
         assertEquals("apache/jackrabbit/hotfix:name", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromVPath1() {
         PackageId packId = new PackageId("hotfix/name-1.0");
         assertEquals("hotfix:name:1.0", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromVPath2() {
         PackageId packId = new PackageId("hotfix/name-1.0-SNAPSHOT");
         assertEquals("hotfix:name:1.0-SNAPSHOT", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromVPath3() {
         PackageId packId = new PackageId("hotfix/cq-name-1.0-SNAPSHOT");
         assertEquals("hotfix:cq-name:1.0-SNAPSHOT", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromVPath4() {
         PackageId packId = new PackageId("hotfix/cq-5.3.0-hotfix-12345-1.0-SNAPSHOT");
         assertEquals("hotfix:cq-5.3.0-hotfix-12345:1.0-SNAPSHOT", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromVPath5() {
         PackageId packId = new PackageId("hotfix/cq-5.3.0-hotfix-12345-1.0-R1234");
         assertEquals("hotfix:cq-5.3.0-hotfix-12345:1.0-R1234", packId.toString());
     }
 
+    @SuppressWarnings("deprecation")
+    @Test
     public void testFromVPath6() {
         PackageId packId = new PackageId("hotfix/cq-5.3.0-RG12");
         assertEquals("hotfix:cq-5.3.0-RG12", packId.toString());
     }
 
+    @Test
     public void testEquals() {
         PackageId pack1 = new PackageId("group", "name", "version");
         PackageId pack2 = new PackageId("group", "name", "version");
         assertEquals(pack1, pack2);
     }
+
+    @Test
     public void testFromString() {
         PackageId packId = PackageId.fromString("group:name:version");
         assertEquals(packId.getGroup(), "group");
@@ -118,6 +152,7 @@
         assertEquals(packId.getVersion().toString(), "version");
     }
 
+    @Test
     public void testFromString2() {
         PackageId packId = PackageId.fromString("group:name");
         assertEquals(packId.getGroup(), "group");
@@ -125,6 +160,7 @@
         assertEquals(packId.getVersionString(), "");
     }
 
+    @Test
     public void testFromString3() {
         PackageId packId = PackageId.fromString("name");
         assertEquals(packId.getGroup(), "");
@@ -132,6 +168,7 @@
         assertEquals(packId.getVersionString(), "");
     }
 
+    @Test
     public void testFromString4() {
         PackageId packId = PackageId.fromString(":name:version");
         assertEquals(packId.getGroup(), "");
@@ -139,6 +176,7 @@
         assertEquals(packId.getVersionString(), "version");
     }
 
+    @Test
     public void testRoundtrip() {
         PackageId p1 = new PackageId("", "name", "");
         PackageId p2 = PackageId.fromString(p1.toString());
@@ -147,6 +185,7 @@
         assertEquals(p1.getVersion(), p2.getVersion());
     }
 
+    @Test
     public void testRoundtrip2() {
         PackageId p1 = new PackageId("", "name", "version");
         PackageId p2 = PackageId.fromString(p1.toString());
@@ -155,6 +194,7 @@
         assertEquals(p1.getVersion(), p2.getVersion());
     }
 
+    @Test
     public void testRoundtrip3() {
         PackageId p1 = new PackageId("group", "name", "");
         PackageId p2 = PackageId.fromString(p1.toString());
@@ -163,6 +203,7 @@
         assertEquals(p1.getVersion(), p2.getVersion());
     }
 
+    @Test
     public void testRoundtrip4() {
         PackageId p1 = new PackageId("group", "name", "version");
         PackageId p2 = PackageId.fromString(p1.toString());
@@ -171,5 +212,4 @@
         assertEquals(p1.getVersion(), p2.getVersion());
     }
 
-
 }
\ No newline at end of file
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/SubPackageHandlingTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/SubPackageHandlingTest.java
index 1cd88b9..b2fbbb2 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/SubPackageHandlingTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/SubPackageHandlingTest.java
@@ -17,25 +17,30 @@
 
 package org.apache.jackrabbit.vault.packaging;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * {@code SubPackageHandlingTest}...
  */
-public class SubPackageHandlingTest extends TestCase {
+public class SubPackageHandlingTest {
 
+    @Test
     public void testDefault() {
         SubPackageHandling sp = new SubPackageHandling();
         assertEquals(SubPackageHandling.Option.INSTALL, sp.getOption(PackageId.fromString("foo:bar")));
         assertEquals(SubPackageHandling.Option.INSTALL, sp.getOption(PackageId.fromString("foo:bar:1.0")));
     }
 
+    @Test
     public void testStaticDefault() {
         SubPackageHandling sp = SubPackageHandling.DEFAULT;
         assertEquals(SubPackageHandling.Option.INSTALL, sp.getOption(PackageId.fromString("foo:bar")));
         assertEquals(SubPackageHandling.Option.INSTALL, sp.getOption(PackageId.fromString("foo:bar:1.0")));
     }
 
+    @Test
     public void testMatchAll() {
         SubPackageHandling sp = new SubPackageHandling();
         sp.getEntries().add(new SubPackageHandling.Entry("*", "*", SubPackageHandling.Option.ADD));
@@ -43,6 +48,7 @@
         assertEquals(SubPackageHandling.Option.ADD, sp.getOption(PackageId.fromString("foo:bar:1.0")));
     }
 
+    @Test
     public void testMatchAllGroup() {
         SubPackageHandling sp = new SubPackageHandling();
         sp.getEntries().add(new SubPackageHandling.Entry("foo", "*", SubPackageHandling.Option.ADD));
@@ -51,6 +57,7 @@
         assertEquals(SubPackageHandling.Option.INSTALL, sp.getOption(PackageId.fromString("noo:bar:1.0")));
     }
 
+    @Test
     public void testMatchAllPackage() {
         SubPackageHandling sp = new SubPackageHandling();
         sp.getEntries().add(new SubPackageHandling.Entry("*", "bar", SubPackageHandling.Option.ADD));
@@ -59,6 +66,7 @@
         assertEquals(SubPackageHandling.Option.INSTALL, sp.getOption(PackageId.fromString("foo:baz:1.0")));
     }
 
+    @Test
     public void testMatchSpecific() {
         SubPackageHandling sp = new SubPackageHandling();
         sp.getEntries().add(new SubPackageHandling.Entry("foo", "bar", SubPackageHandling.Option.ADD));
@@ -67,6 +75,7 @@
         assertEquals(SubPackageHandling.Option.INSTALL, sp.getOption(PackageId.fromString("foo:baz:1.0")));
     }
 
+    @Test
     public void testMatchOrder() {
         SubPackageHandling sp = new SubPackageHandling();
         sp.getEntries().add(new SubPackageHandling.Entry("foo", "*", SubPackageHandling.Option.ADD));
@@ -75,6 +84,7 @@
         assertEquals(SubPackageHandling.Option.EXTRACT, sp.getOption(PackageId.fromString("foo:bar")));
     }
 
+    @Test
     public void testParse() {
         assertEquals("", SubPackageHandling.fromString("").getString());
         assertEquals("foo:bar", SubPackageHandling.fromString("foo:bar").getString());
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/VersionRangeTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/VersionRangeTest.java
index 13923f8..d88b4c7 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/VersionRangeTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/VersionRangeTest.java
@@ -17,12 +17,17 @@
 
 package org.apache.jackrabbit.vault.packaging;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.junit.Test;
 
 /**
  * {@code VersionRangeTest}...
  */
-public class VersionRangeTest extends TestCase {
+public class VersionRangeTest {
 
     private final Version v09 = Version.create("0.9");
     private final Version v1 = Version.create("1.0");
@@ -31,11 +36,12 @@
     private final Version v21 = Version.create("2.1");
     private final Version v1s = Version.create("1.0-SNAPSHOT");
 
-
+    @Test
     public void testInfinite() {
         assertTrue("Infinite range includes all versions", VersionRange.INFINITE.isInRange(v1));
     }
 
+    @Test
     public void testLowerBoundIncl() {
         VersionRange vr = new VersionRange(v1, true, null, false);
         assertTrue("[1.0,] includes 1.0", vr.isInRange(v1));
@@ -43,6 +49,7 @@
         assertFalse("[1.0,] excludes 0.9", vr.isInRange(v09));
     }
 
+    @Test
     public void testLowerBoundExcl() {
         VersionRange vr = new VersionRange(v1, false, null, false);
         assertFalse("(1.0,] excludes 1.0", vr.isInRange(v1));
@@ -50,6 +57,7 @@
         assertFalse("(1.0,] excludes 0.9", vr.isInRange(v09));
     }
 
+    @Test
     public void testUpperBoundIncl() {
         VersionRange vr = new VersionRange(null, false, v2, true);
         assertTrue("[,2.0] includes 1.0", vr.isInRange(v1));
@@ -57,6 +65,7 @@
         assertFalse("[,2.0] excludes 2.1", vr.isInRange(v21));
     }
 
+    @Test
     public void testUpperBoundExcl() {
         VersionRange vr = new VersionRange(null, false, v2, false);
         assertTrue("[,2.0) includes 1.0", vr.isInRange(v1));
@@ -64,6 +73,7 @@
         assertFalse("[,2.0) excludes 2.1", vr.isInRange(v21));
     }
 
+    @Test
     public void testRangeInclIncl() {
         VersionRange vr = new VersionRange(v1, true, v2, true);
         assertFalse("[1.0,2.0] excludes 0.9", vr.isInRange(v09));
@@ -73,6 +83,7 @@
         assertFalse("[1.0,2.0] excludes 2.1", vr.isInRange(v21));
     }
 
+    @Test
     public void testRangeExclIncl() {
         VersionRange vr = new VersionRange(v1, false, v2, true);
         assertFalse("(1.0,2.0] excludes 0.9", vr.isInRange(v09));
@@ -82,6 +93,7 @@
         assertFalse("(1.0,2.0] excludes 2.1", vr.isInRange(v21));
     }
 
+    @Test
     public void testRangeInclExcl() {
         VersionRange vr = new VersionRange(v1, true, v2, false);
         assertFalse("[1.0,2.0) excludes 0.9", vr.isInRange(v09));
@@ -91,6 +103,7 @@
         assertFalse("[1.0,2.0) excludes 2.1", vr.isInRange(v21));
     }
 
+    @Test
     public void testRangeExclExcl() {
         VersionRange vr = new VersionRange(v1, false, v2, false);
         assertFalse("(1.0,2.0) excludes 0.9", vr.isInRange(v09));
@@ -100,6 +113,7 @@
         assertFalse("(1.0,2.0) excludes 2.1", vr.isInRange(v21));
     }
 
+    @Test
     public void testRangeWithEmptyVersionParameter() {
         VersionRange vr = new VersionRange(v1, true, v2, true);
         assertFalse("[1.0,2.0] excludes empty version", vr.isInRange(Version.EMPTY));
@@ -111,6 +125,7 @@
      *
      * @see <a href="https://github.com/apache/maven/blob/maven-3.8.6/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java#L657">Maven VersionRangeTest.java</a>
      */
+    @Test
     public void testRangeSnapshots() {
         VersionRange vr = VersionRange.fromString("[1.0,2.0)");
         assertFalse("[1.0,2.0) excludes 1.0-SNAPSHOT", vr.isInRange(v1s));
@@ -119,6 +134,7 @@
         assertTrue("[1.0-SNAPSHOT,2.0) includes 1.0-SNAPSHOT", vr.isInRange(v1s));
     }
 
+    @Test
     public void testRangeInvalid() {
         try {
             new VersionRange(v2, false, v1, false);
@@ -128,6 +144,7 @@
         }
     }
 
+    @Test
     public void testRangeInvalid2() {
         try {
             new VersionRange(v1, false, v1, false);
@@ -137,6 +154,7 @@
         }
     }
 
+    @Test
     public void testParse() {
         VersionRange vr = VersionRange.fromString("[1.0,2.0]");
         assertEquals(v1, vr.getLow());
@@ -145,6 +163,7 @@
         assertEquals(true, vr.isHighInclusive());
     }
 
+    @Test
     public void testParse2() {
         VersionRange vr = VersionRange.fromString("(1.0,2.0)");
         assertEquals(v1, vr.getLow());
@@ -153,6 +172,7 @@
         assertEquals(false, vr.isHighInclusive());
     }
 
+    @Test
     public void testParse3() {
         VersionRange vr = VersionRange.fromString("1.0");
         assertEquals(v1, vr.getLow());
@@ -160,6 +180,7 @@
         assertEquals(true, vr.isLowInclusive());
     }
 
+    @Test
     public void testParse4() {
         VersionRange vr = VersionRange.fromString("(1.0,]");
         assertEquals(v1, vr.getLow());
@@ -167,6 +188,7 @@
         assertEquals(false, vr.isLowInclusive());
     }
 
+    @Test
     public void testParse5() {
         VersionRange vr = VersionRange.fromString("[,2.0]");
         assertEquals(null, vr.getLow());
@@ -174,31 +196,37 @@
         assertEquals(true, vr.isHighInclusive());
     }
 
+    @Test
     public void testToString() {
         VersionRange vr = new VersionRange(v1, true, v2, true);
         assertEquals("[1.0,2.0]", vr.toString());
     }
 
+    @Test
     public void testToString2() {
         VersionRange vr = new VersionRange(v1, false, v2, false);
         assertEquals("(1.0,2.0)", vr.toString());
     }
 
+    @Test
     public void testToString3() {
         VersionRange vr = new VersionRange(v1, false, null, false);
         assertEquals("(1.0,)", vr.toString());
     }
 
+    @Test
     public void testToString4() {
         VersionRange vr = new VersionRange(v1, true, null, false);
         assertEquals("1.0", vr.toString());
     }
 
+    @Test
     public void testToString5() {
         VersionRange vr = new VersionRange(null, false, v2, true);
         assertEquals("[,2.0]", vr.toString());
     }
 
+    @Test
     public void testToString6() {
         VersionRange vr = new VersionRange(null, false, v2, false);
         assertEquals("[,2.0)", vr.toString());
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineInputTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineInputTest.java
index 5fe040c..1153bc9 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineInputTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineInputTest.java
@@ -17,20 +17,22 @@
 
 package org.apache.jackrabbit.vault.util;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.util.Arrays;
 
 import org.apache.commons.io.IOUtils;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * {@code LineOutputTest}...
  *
  */
-public class LineInputTest extends TestCase {
+public class LineInputTest {
 
+    @Test
     public void testInput0() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0};
         byte[] u = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0};
@@ -38,6 +40,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput1() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0x0a};
         byte[] u = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0x0a};
@@ -45,6 +48,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput2() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0x0d,0,0,0,0x0a,0x0d,0,0,0x0a,0x0d};
         byte[] u = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0x0a};
@@ -52,6 +56,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput3() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0x0a,0,0,0,0x0d,0x0d,0,0,0x0a,0x0d};
         byte[] u = new byte[]{0,0,0,0x0a,0x0a,0,0,0,0x0a,0x0a,0,0,0x0a};
@@ -59,6 +64,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput4() throws Exception {
         byte[] in = "bla */\r\n\r\n/** bla */\r\n".getBytes();
         byte[] u = "bla */\n\n/** bla */\n".getBytes();
@@ -66,6 +72,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput5() throws Exception {
         byte[] in = "bla */\n\n\n/** bla */\n".getBytes();
         byte[] u = "bla */\n\n\n/** bla */\n".getBytes();
@@ -73,6 +80,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput6() throws Exception {
         byte[] in = "bla */\r\n\r\n\r\n\r\n/** bla */\r\n".getBytes();
         byte[] u = "bla */\n\n\n\n/** bla */\n".getBytes();
@@ -80,6 +88,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testLarge1() throws Exception {
         byte[] in = new byte[3*8192];
         Arrays.fill(in, (byte) 20);
@@ -94,6 +103,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testLarge2() throws Exception {
         byte[] in = new byte[3*8192];
         Arrays.fill(in, (byte) 20);
@@ -108,6 +118,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testLarge3() throws Exception {
         byte[] in = new byte[3*8192];
         Arrays.fill(in, (byte) 20);
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineOutputTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineOutputTest.java
index 7dcccbb..9bc8511 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineOutputTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/LineOutputTest.java
@@ -17,17 +17,20 @@
 
 package org.apache.jackrabbit.vault.util;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.ByteArrayOutputStream;
 import java.util.Arrays;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * {@code LineOutputTest}...
  *
  */
-public class LineOutputTest extends TestCase {
+public class LineOutputTest {
 
+    @Test
     public void testInput0() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0};
         byte[] u = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0};
@@ -35,6 +38,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput1() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0x0a};
         byte[] u = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0x0a};
@@ -42,6 +46,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput2() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0x0d,0,0,0,0x0a,0x0d,0,0,0x0a,0x0d};
         byte[] u = new byte[]{0,0,0,0x0a,0,0,0,0x0a,0,0,0x0a};
@@ -49,6 +54,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput3() throws Exception {
         byte[] in = new byte[]{0,0,0,0x0a,0x0a,0,0,0,0x0d,0x0d,0,0,0x0a,0x0d};
         byte[] u = new byte[]{0,0,0,0x0a,0x0a,0,0,0,0x0a,0x0a,0,0,0x0a};
@@ -56,6 +62,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput4() throws Exception {
         byte[] in = "bla */\r\n\r\n/** bla */\r\n".getBytes();
         byte[] u = "bla */\n\n/** bla */\n".getBytes();
@@ -63,6 +70,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput5() throws Exception {
         byte[] in = "bla */\n\n\n/** bla */\n".getBytes();
         byte[] u = "bla */\n\n\n/** bla */\n".getBytes();
@@ -70,6 +78,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testInput6() throws Exception {
         byte[] in = "bla */\r\n\r\n\r\n\r\n/** bla */\r\n".getBytes();
         byte[] u = "bla */\n\n\n\n/** bla */\n".getBytes();
@@ -77,6 +86,7 @@
         doTest(in, u, w);
     }
 
+    @Test
     public void testLarge1() throws Exception {
         byte[] in = new byte[3*8192];
         Arrays.fill(in, (byte) 20);
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/MD5Test.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/MD5Test.java
index 49c030e..31b72c7 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/MD5Test.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/MD5Test.java
@@ -17,16 +17,19 @@
 
 package org.apache.jackrabbit.vault.util;
 
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * {@code MD5Test}...
  */
-public class MD5Test extends TestCase {
+public class MD5Test {
 
     private static String testData = "Hello, World";
     private static String testString = "82bb413746aee42f89dea2b59614f9ef";
@@ -39,12 +42,14 @@
             (byte) 0x96, (byte) 0x14, (byte) 0xf9, (byte) 0xef
     };
 
+    @Test
     public void testCreateLong() {
         MD5 md5 = new MD5(testMSB, testLSB);
         assertEquals(testString, md5.toString());
-        assertEquals(testBytes, md5.getBytes());
+        assertArrayEquals(testBytes, md5.getBytes());
     }
 
+    @Test
     public void testCreateBytes() {
         MD5 md5 = new MD5(testBytes);
         assertEquals(testString, md5.toString());
@@ -52,30 +57,24 @@
         assertEquals(testLSB, md5.getLsb());
     }
 
+    @Test
     public void testCreateString() {
         MD5 md5 = new MD5(testString);
         assertEquals(testMSB, md5.getMsb());
         assertEquals(testLSB, md5.getLsb());
     }
 
+    @Test
     public void testSmall() {
         MD5 md5 = new MD5(0, 0);
         assertEquals("00000000000000000000000000000000", md5.toString());
     }
 
-
+    @Test
     public void testDigest() throws IOException {
         try (InputStream in = new ByteArrayInputStream(testData.getBytes())) {
             MD5 md5 = MD5.digest(in);
             assertEquals(testString, md5.toString());
         }
     }
-
-    private void assertEquals(byte[] expected, byte[] result) {
-        for (int i=0; i< expected.length; i++) {
-            if (expected[i] != result[i]) {
-                fail("expected: " + expected[i] + " but was:" + result[i]);
-            }
-        }
-    }
 }
\ No newline at end of file
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathComparatorTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathComparatorTest.java
index 9849bcd..c8561a1 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathComparatorTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathComparatorTest.java
@@ -17,21 +17,24 @@
 
 package org.apache.jackrabbit.vault.util;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * {@code PathComparatorTest}...
  *
  */
-public class PathComparatorTest extends TestCase {
+public class PathComparatorTest {
 
+    @Test
     public void test() {
         doTest("/a", "/a", 0);
         doTest("/a", "/b", -1);
         doTest("/a1foo", "/a/foo", -1);
         doTest("/a/b/c1foo", "/a/b/c/foo", -1);
     }
-    
+
     private void doTest(String left, String right, int result) {
         PathComparator c = new PathComparator();
         int test = c.compare(left, right);
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathUtilTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathUtilTest.java
index e0d5811..0b83b4e 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathUtilTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/PathUtilTest.java
@@ -17,33 +17,40 @@
 
 package org.apache.jackrabbit.vault.util;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * {@code PathUtilTest}...
  */
-public class PathUtilTest extends TestCase {
+public class PathUtilTest {
 
+    @Test
     public void testRelPathEquals() {
         assertEquals(".", PathUtil.getRelativeFilePath(
                 "/libs/components",
                 "/libs/components", "/")); }
 
+    @Test
     public void testRelPathSub() {
         assertEquals("text", PathUtil.getRelativeFilePath(
                 "/libs/components",
                 "/libs/components/text", "/")); }
 
+    @Test
     public void testRelPathParent() {
         assertEquals("../..", PathUtil.getRelativeFilePath(
                 "/libs/components/text",
                 "/libs", "/")); }
 
+    @Test
     public void testRelPathSibling() {
         assertEquals("../image", PathUtil.getRelativeFilePath(
                 "/libs/components/text",
                 "/libs/components/image", "/")); }
 
+    @Test
     public void testWindowRelPath() {
         assertEquals("foo\\bar", PathUtil.getRelativeFilePath(
                 "c:\\test\\root",
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/SHA1Test.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/SHA1Test.java
index 6cbe9b1..48a6993 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/SHA1Test.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/SHA1Test.java
@@ -17,16 +17,16 @@
 
 package org.apache.jackrabbit.vault.util;
 
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
-/**
- * {@code MD5Test}...
- */
-public class SHA1Test extends TestCase {
+public class SHA1Test {
 
     private static String testData = "Hello, World\n";
     private static String testString = "4ab299c8ad6ed14f31923dd94f8b5f5cb89dfb54";
@@ -39,12 +39,14 @@
             (byte) 0xb8, (byte) 0x9d, (byte) 0xfb, (byte) 0x54
     };
 
+    @Test
     public void testCreateInt() {
         SHA1 sha = new SHA1(testInts[0], testInts[1], testInts[2], testInts[3], testInts[4]);
         assertEquals(testString, sha.toString());
-        assertEquals(testBytes, sha.getBytes());
+        assertArrayEquals(testBytes, sha.getBytes());
     }
 
+    @Test
     public void testCreateBytes() {
         SHA1 sha = new SHA1(testBytes);
         for (int i=0; i<testInts.length; i++) {
@@ -53,6 +55,7 @@
         assertEquals(testString, sha.toString());
     }
 
+    @Test
     public void testCreateString() {
         SHA1 sha = new SHA1(testString);
         for (int i=0; i<testInts.length; i++) {
@@ -60,12 +63,14 @@
         }
     }
 
+    @Test
     public void testSmall() {
         SHA1 sha = new SHA1(0, 0, 0, 0, 0);
         assertEquals("0000000000000000000000000000000000000000", sha.toString());
     }
 
 
+    @Test
     public void testDigest() throws IOException {
         try (InputStream in = new ByteArrayInputStream(testData.getBytes())) {
             SHA1 sha1 = SHA1.digest(in);
@@ -73,11 +78,4 @@
         }
     }
 
-    private void assertEquals(byte[] expected, byte[] result) {
-        for (int i=0; i< expected.length; i++) {
-            if (expected[i] != result[i]) {
-                fail("expected: " + expected[i] + " but was:" + result[i]);
-            }
-        }
-    }
 }
\ No newline at end of file
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/TreeTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/TreeTest.java
index 9fed2b4..57c419f 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/util/TreeTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/util/TreeTest.java
@@ -17,12 +17,13 @@
 
 package org.apache.jackrabbit.vault.util;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
-/**
- * {@code PathUtilTest}...
- */
-public class TreeTest extends TestCase {
+import org.junit.Before;
+import org.junit.Test;
+
+public class TreeTest {
 
     private Tree<String> tree;
 
@@ -32,18 +33,21 @@
             "/test/c",
             "/test/d/dd",
     };
-    @Override
-    protected void setUp() throws Exception {
+    
+    @Before
+    public void setUp() throws Exception {
         tree = new Tree<String>();
         for (String path: paths) {
             tree.put(path, path);
         }
     }
 
+    @Test
     public void testCommonRootPath() {
         assertEquals("Root Path", "/test", tree.getRootPath());
     }
 
+    @Test
     public void testIteration() {
         int i = 0;
         for (String path: tree.map().keySet()) {
@@ -52,11 +56,13 @@
         assertEquals("Too many entries", paths.length, i);
     }
 
+    @Test
     public void testGetNop() {
         assertNull("/test/e should not exist", tree.getNode("/test/e"));
         testTreeOk();
     }
 
+    @Test
     public void testTreeOk() {
         assertEquals("Tree Size", paths.length, tree.map().keySet().size());
         int i=0;
@@ -65,6 +71,7 @@
         }
     }
 
+    @Test
     public void testSimple() {
         Tree<String> t = new Tree<String>();
         t.put("/content/en/foo", "foo");
diff --git a/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/Diff3Test.java b/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/Diff3Test.java
index 61f0582..5b63ea1 100644
--- a/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/Diff3Test.java
+++ b/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/Diff3Test.java
@@ -16,52 +16,62 @@
  */
 package org.apache.jackrabbit.vault.util.diff;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * {@code Diff3Test}...
  */
-public class Diff3Test extends TestCase {
+public class Diff3Test {
 
     private static final String base = "a,b,c,d,e,f,g,";
 
+    @Test
     public void testModifyNothing() {
         doTest(base, base, base, base, false);
     }
-    
+
+    @Test
     public void testModify() {
         String change = "a,b,c2,d,e,f,g,";
         doTest(base, change, base, change, false);
         doTest(base, base, change, change, false);
     }
 
+    @Test
     public void testInsert() {
         String change = "a,b,c,cc,d,e,f,g,";
         doTest(base, change, base, change, false);
         doTest(base, base, change, change, false);
     }
 
+    @Test
     public void testDelete() {
         String change = "a,b,f,g,";
         doTest(base, change, base, change, false);
         doTest(base, base, change, change, false);
     }
 
+    @Test
     public void testModifySame() {
         String change = "a,b,c2,d,e,f,g,";
         doTest(base, change, change, change, false);
     }
 
+    @Test
     public void testDeleteBoth() {
         String change = "a,b,f,g,";
         doTest(base, change, change, change, false);
     }
 
+    @Test
     public void testInsertBoth() {
         String change = "a,b,c,cc,ccc,d,e,f,g,";
         doTest(base, change, change, change, false);
     }
 
+    @Test
     public void testDeleteInclusive() {
         String left = "a,b,e,f,g,";
         String right = "a,b,g,";
@@ -69,6 +79,7 @@
         doTest(base, left, right, result, true);
     }
 
+    @Test
     public void testDeleteAndInsertSame() {
         String left = "a,b,c2,e,f,g,";
         String right = "a,b,c2,g,";
@@ -76,6 +87,7 @@
         doTest(base, left, right, result, true);
     }
 
+    @Test
     public void testModifyDifferent() {
         String left  = "a,b,c1,d1,e,f,g,";
         String right = "a,b,c2,d2,e,f,g,";
@@ -83,6 +95,7 @@
         doTest(base, left, right, result, true);
     }
 
+    @Test
     public void testInsertLeftModifyRight() {
         String left  = "a,b,b1,c,d,e,f,g,";
         String right = "a,b,c2,d,e,f,g,";
@@ -90,6 +103,7 @@
         doTest(base, left, right, result, true);
     }
 
+    @Test
     public void testDeleteLeftModifyRight() {
         String left = "a,b,e,f,g,";
         String right = "a,b,c2,d2,e,f,g,";
@@ -97,6 +111,7 @@
         doTest(base, left, right, result, true);
     }
 
+    @Test
     public void testDeleteSameInsertDifferent() {
         String left = "a,b,b1,b2,g,";
         String right = "a,b,c1,g,";
@@ -104,6 +119,7 @@
         doTest(base, left, right, result, true);
     }
 
+    @Test
     public void testDeleteOverlapping() {
         String left = "a,f,g,";
         String right = "a,b,c,g,";
@@ -111,6 +127,7 @@
         doTest(base, left, right, result, true);
     }
 
+    @Test
     public void testNoLastEOL() {
         String left = "a,b,c";
         String right = "a,b,c";
diff --git a/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/DiffTest.java b/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/DiffTest.java
index 201d869..2c6ba7a 100644
--- a/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/DiffTest.java
+++ b/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/DiffTest.java
@@ -16,30 +16,35 @@
  */
 package org.apache.jackrabbit.vault.util.diff;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.IOException;
 import java.io.InputStream;
 
 import org.apache.commons.io.IOUtils;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 /**
  * {@code DiffTest}...
  */
-public class DiffTest extends TestCase {
+public class DiffTest {
 
+    @Test
     public void testBaseLeft0() throws IOException {
         doTest("base.txt", "left.txt", 0, "base-left-0.txt");
     }
 
+    @Test
     public void testBaseLeft1() throws IOException {
         doTest("base.txt", "left.txt", 1, "base-left-1.txt");
     }
 
+    @Test
     public void testBaseLeft2() throws IOException {
         doTest("base.txt", "left.txt", 2, "base-left-2.txt");
     }
 
+    @Test
     public void testBaseLeft100() throws IOException {
         doTest("base.txt", "left.txt", 100, "base-left-100.txt");
     }
diff --git a/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/LineElementTest.java b/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/LineElementTest.java
index a703e5b..67a76b0 100644
--- a/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/LineElementTest.java
+++ b/vault-diff/src/test/java/org/apache/jackrabbit/vault/util/diff/LineElementTest.java
@@ -16,13 +16,16 @@
  */
 package org.apache.jackrabbit.vault.util.diff;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
 
 /**
  * {@code LineElementTest}...
  */
-public class LineElementTest extends TestCase {
+public class LineElementTest {
 
+    @Test
     public void testLineElements() {
         String[] lines = new String[]{
                 "a\n",
@@ -34,6 +37,7 @@
         test(lines);
     }
 
+    @Test
     public void testLargeLineElements() {
         String[] lines = new String[4];
         StringBuffer buf = new StringBuffer(10001);
@@ -48,6 +52,7 @@
         test(lines);
     }
 
+    @Test
     public void testManyLineElements() {
         String[] lines = new String[1024];
         StringBuffer buf = new StringBuffer(32);