You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2014/11/02 08:31:57 UTC

[1/4] Apply JUnit4 instead of JUnit3 in other modules

Repository: cayenne
Updated Branches:
  refs/heads/master 4fb3e9e7e -> 5fdb08035


http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/parser/PropertyListParserTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/parser/PropertyListParserTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/parser/PropertyListParserTest.java
index f256f63..b87b38b 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/parser/PropertyListParserTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/parser/PropertyListParserTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.cayenne.wocompat.parser;
 
+import org.junit.Test;
+
 import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -26,14 +28,16 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
-public class PropertyListParserTest extends TestCase {
+public class PropertyListParserTest {
 
     private static Parser parser(String plistText) {
         return new Parser(new StringReader(plistText));
     }
 
+    @Test
     public void testListPlist() throws Exception {
         List list = new ArrayList();
         list.add("str");
@@ -43,6 +47,7 @@ public class PropertyListParserTest extends TestCase {
         assertTrue(list.equals(plist));
     }
 
+    @Test
     public void testMapPlist() throws Exception {
         Map map = new HashMap();
         map.put("key1", "val");
@@ -52,6 +57,7 @@ public class PropertyListParserTest extends TestCase {
         assertTrue(map.equals(plist));
     }
 
+    @Test
     public void testStringWithQuotes() throws Exception {
         List list = new ArrayList();
         list.add("s\"tr");
@@ -61,6 +67,7 @@ public class PropertyListParserTest extends TestCase {
         assertTrue(list.equals(plist));
     }
 
+    @Test
     public void testNestedPlist() throws Exception {
         Map map = new HashMap();
         map.put("key1", "val");
@@ -74,6 +81,7 @@ public class PropertyListParserTest extends TestCase {
         assertEquals(map, parser("{key1 = val; key2 = 5; key3 = (str, 5)}").object(""));
     }
 
+    @Test
     public void testStringWithSpaces() throws Exception {
         List list = new ArrayList();
         list.add("s tr");
@@ -83,6 +91,7 @@ public class PropertyListParserTest extends TestCase {
         assertTrue(list.equals(plist));
     }
 
+    @Test
     public void testStringWithBraces() throws Exception {
         List list = new ArrayList();
         list.add("s{t)r");
@@ -91,6 +100,7 @@ public class PropertyListParserTest extends TestCase {
         assertEquals(list, parser("(\"s{t)r\", 5)").object(""));
     }
 
+    @Test
     public void testStringWithSlashes() throws Exception {
         List list = new ArrayList();
         list.add("s/t\\r");
@@ -99,6 +109,7 @@ public class PropertyListParserTest extends TestCase {
         assertEquals(list, parser("(\"s/t\\\\r\", 5)").object(""));
     }
 
+    @Test
     public void testMapWithLastSemicolon() throws Exception {
         Map map = new HashMap();
         map.put("key1", "val");
@@ -109,49 +120,59 @@ public class PropertyListParserTest extends TestCase {
         assertEquals(map, parser("{key1 = val; key2 = 5 }").object(""));
     }
 
+    @Test
     public void testEmptyMap() throws Exception {
         assertEquals(Collections.EMPTY_MAP, parser("{}").object(""));
     }
 
+    @Test
     public void testEmptyList() throws Exception {
         assertEquals(Collections.EMPTY_LIST, parser("()").object(""));
     }
 
+    @Test
     public void testOutsideComments() throws Exception {
         List list = Collections.singletonList("str");
         assertEquals(list, parser("// comment\n ( str)").object(""));
     }
 
+    @Test
     public void testInsideComments() throws Exception {
         List list = Collections.singletonList("str");
         assertEquals(list, parser("(\n // comment\n str )").object(""));
     }
 
+    @Test
     public void testInsideKVComments() throws Exception {
         Map map = Collections.singletonMap("str", new Integer(5));
         assertEquals(map, parser("{\n str = // comment\n 5; }").object(""));
     }
 
+    @Test
     public void testTrailingComments() throws Exception {
         List list = Collections.singletonList("str");
         assertEquals(list, parser("(// comment\n str)").object(""));
     }
 
+    @Test
     public void testDoubleslashInsideLiteral() throws Exception {
         List list = Collections.singletonList("s//tr");
         assertEquals(list, parser("( \"s//tr\" )").object(""));
     }
 
+    @Test
     public void testWindowsComments() throws Exception {
         List list = Collections.singletonList("str");
         assertEquals(list, parser("// comment\r\n ( str)").object(""));
     }
 
+    @Test
     public void testMacComments() throws Exception {
         List list = Collections.singletonList("str");
         assertEquals(list, parser("// comment\r ( str)").object(""));
     }
 
+    @Test
     public void testUNIXComments() throws Exception {
         List list = Collections.singletonList("str");
         assertEquals(list, parser("// comment\n ( str)").object(""));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/unit/WOCompatCase.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/unit/WOCompatCase.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/unit/WOCompatCase.java
index d93dcc6..c1ed5b2 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/unit/WOCompatCase.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/unit/WOCompatCase.java
@@ -18,14 +18,12 @@
  ****************************************************************/
 package org.apache.cayenne.wocompat.unit;
 
-import java.io.File;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.test.file.FileUtil;
 
-public class WOCompatCase extends TestCase {
+import java.io.File;
+
+public class WOCompatCase {
 
     protected File setupTestDirectory(String subfolder) {
         String classPath = getClass().getName().replace('.', '/');


[4/4] git commit: Merge Pull request #23 , commit ec5c3cff658aa7b8e2720f0f875b668433151483

Posted by aa...@apache.org.
Merge Pull request #23 , commit ec5c3cff658aa7b8e2720f0f875b668433151483


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/5fdb0803
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/5fdb0803
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/5fdb0803

Branch: refs/heads/master
Commit: 5fdb08035500ba073a33aa67dbbab550ec752d84
Parents: 4fb3e9e ec5c3cf
Author: aadamchik <aa...@apache.org>
Authored: Sun Nov 2 10:24:17 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Nov 2 10:28:15 2014 +0300

----------------------------------------------------------------------
 .../java/org/apache/cayenne/DataRowTest.java    |  9 ++-
 .../cayenne/ObjectContextChangeLogTest.java     | 10 +++-
 .../java/org/apache/cayenne/ObjectIdTest.java   | 17 ++++--
 .../apache/cayenne/access/types/EnumTest.java   | 20 +++++--
 .../rop/client/ClientLocalRuntimeTest.java      | 21 ++++---
 .../rop/client/ClientModuleTest.java            | 20 +++++--
 .../rop/client/ClientRuntimeTest.java           | 30 +++++++---
 .../apache/cayenne/event/EventSubjectTest.java  |  9 ++-
 .../org/apache/cayenne/graph/NodeDiffTest.java  |  9 ++-
 .../map/ClientObjectRelationshipTest.java       |  9 ++-
 .../org/apache/cayenne/map/DataMapTest.java     |  9 ++-
 .../org/apache/cayenne/map/DbEntityTest.java    | 10 +++-
 .../java/org/apache/cayenne/map/EntityTest.java |  9 ++-
 .../apache/cayenne/query/NamedQueryTest.java    | 10 +++-
 .../apache/cayenne/query/ObjectIdQueryTest.java | 10 +++-
 .../cayenne/query/PrefetchTreeNodeTest.java     | 13 ++++-
 .../apache/cayenne/query/RefreshQueryTest.java  |  9 ++-
 .../cayenne/query/RelationshipQueryTest.java    |  9 ++-
 .../cayenne/remote/ClientChannelTest.java       | 32 ++++++----
 .../cayenne/remote/LocalConnectionTest.java     |  8 ++-
 .../apache/cayenne/remote/SyncMessageTest.java  | 17 ++++--
 .../remote/hessian/HessianConnectionTest.java   | 19 +++---
 .../cayenne/util/GenericResponseTest.java       | 15 +++--
 .../apache/cayenne/util/ListResponseTest.java   | 10 +++-
 .../cayenne/util/PersistentObjectListTest.java  | 19 ++++--
 .../org/apache/cayenne/di/DIBootstrapTest.java  | 10 +++-
 .../java/org/apache/cayenne/di/KeyTest.java     | 11 +++-
 .../di/spi/DefaultInjectorBindingTest.java      | 14 ++++-
 .../DefaultInjectorCircularInjectionTest.java   | 14 +++--
 .../di/spi/DefaultInjectorDecorationTest.java   | 11 +++-
 .../di/spi/DefaultInjectorInjectionTest.java    | 23 +++++++-
 .../di/spi/DefaultInjectorScopeTest.java        | 20 +++++--
 .../cayenne/di/spi/DefaultInjectorTest.java     | 15 +++--
 .../lifecycle/audit/AuditableFilterTest.java    | 31 ++++++----
 .../audit/AuditableFilter_InRuntime_Test.java   | 29 ++++++----
 .../cayenne/lifecycle/id/EntityIdCoderTest.java | 40 ++++++++-----
 .../cayenne/lifecycle/id/IdCoderTest.java       | 23 +++++---
 .../cayenne/lifecycle/id/StringIdQueryTest.java | 32 ++++++----
 .../ObjectIdRelationshipHandlerTest.java        | 22 ++++---
 .../sort/WeightedAshwoodEntitySorterTest.java   | 24 ++++----
 .../project/DataChannelProjectLoaderTest.java   | 16 ++---
 .../project/DataChannelProjectSaverTest.java    | 19 +++---
 .../cayenne/project/FileProjectSaverTest.java   | 26 +++++----
 .../org/apache/cayenne/project/ProjectTest.java | 11 ++--
 .../cayenne/project/unit/Project2Case.java      | 17 +++---
 .../upgrade/v7/ProjectUpgrader_V7Test.java      | 35 +++++++----
 .../cayenne/gen/ClassGenerationActionTest.java  | 45 +++++++++------
 .../org/apache/cayenne/gen/EntityUtilsTest.java | 26 +++++----
 .../org/apache/cayenne/gen/ImportUtilsTest.java | 34 ++++++++---
 .../org/apache/cayenne/gen/StringUtilsTest.java | 19 +++---
 .../map/naming/DefaultNameGeneratorTest.java    | 10 +++-
 .../cayenne/tools/AntDataPortDelegateTest.java  | 11 ++--
 ...eGeneratorTaskCrossMapRelationshipsTest.java | 21 ++++---
 .../cayenne/tools/CayenneGeneratorTaskTest.java | 27 ++++++---
 .../cayenne/tools/DbGeneratorTaskTest.java      | 19 +++---
 .../cayenne/tools/NamePatternMatcherTest.java   | 10 +++-
 .../tools/configuration/ToolsModuleTest.java    | 17 +++---
 .../dbimport/DbImportDbLoaderDelegateTest.java  | 24 +++++---
 .../tools/dbimport/DbImportModuleTest.java      | 10 ++--
 .../configuration/event/DataNodeEventTest.java  | 12 +++-
 .../modeler/action/CreateNodeActionTest.java    |  9 ++-
 .../modeler/event/AttributeEventTest.java       |  8 ++-
 .../cayenne/modeler/event/DataMapEventTest.java | 61 +++++++++++---------
 .../modeler/event/DomainDisplayEventTest.java   |  8 ++-
 .../cayenne/modeler/event/DomainEventTest.java  | 15 +++--
 .../cayenne/modeler/event/EntityEventTest.java  | 17 ++++--
 .../cayenne/modeler/event/ModelerEventTest.java | 12 ++--
 .../modeler/event/RelationshipEventTest.java    |  8 ++-
 .../modeler/util/ApplicationFileFilterTest.java | 14 ++++-
 .../cayenne/modeler/util/CircularArrayTest.java |  8 ++-
 .../modeler/util/DataMapFileFilterTest.java     | 16 ++++-
 .../modeler/util/EOModelFileFilterTest.java     | 25 +++++---
 .../cayenne/modeler/util/VersionTest.java       | 11 +++-
 .../cayenne/wocompat/EOModelHelperTest.java     | 22 +++++--
 .../EOModelProcessorInheritanceTest.java        | 19 ++++--
 .../cayenne/wocompat/EOModelProcessorTest.java  | 28 ++++++---
 .../cayenne/wocompat/EOModelPrototypesTest.java | 25 +++++---
 .../apache/cayenne/wocompat/EOQueryTest.java    | 15 +++--
 .../wocompat/PropertyListSerializationTest.java | 17 +++++-
 .../wocompat/parser/PropertyListParserTest.java | 25 +++++++-
 .../cayenne/wocompat/unit/WOCompatCase.java     |  8 +--
 81 files changed, 980 insertions(+), 472 deletions(-)
----------------------------------------------------------------------



[2/4] Apply JUnit4 instead of JUnit3 in other modules

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectLoaderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectLoaderTest.java b/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectLoaderTest.java
index 1c4879e..7159570 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectLoaderTest.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectLoaderTest.java
@@ -18,10 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.project;
 
-import java.net.URL;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.ConfigurationNameMapper;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataChannelDescriptorLoader;
@@ -37,13 +33,19 @@ import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory;
 import org.apache.cayenne.di.spi.DefaultClassLoaderManager;
-import org.apache.cayenne.project.DataChannelProjectLoader;
-import org.apache.cayenne.project.Project;
 import org.apache.cayenne.resource.Resource;
 import org.apache.cayenne.resource.URLResource;
+import org.junit.Test;
+
+import java.net.URL;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
-public class DataChannelProjectLoaderTest extends TestCase {
+public class DataChannelProjectLoaderTest {
 
+    @Test
     public void testLoad() {
 
         DataChannelProjectLoader loader = new DataChannelProjectLoader();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectSaverTest.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectSaverTest.java b/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectSaverTest.java
index 356d7b3..dbdfd51 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectSaverTest.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/DataChannelProjectSaverTest.java
@@ -18,10 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.project;
 
-import java.io.File;
-import java.io.PrintWriter;
-import java.net.URL;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.ConfigurationNameMapper;
 import org.apache.cayenne.configuration.DataChannelDescriptorLoader;
@@ -37,16 +33,22 @@ import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory;
 import org.apache.cayenne.di.spi.DefaultClassLoaderManager;
-import org.apache.cayenne.project.DataChannelProjectLoader;
-import org.apache.cayenne.project.FileProjectSaver;
-import org.apache.cayenne.project.Project;
-import org.apache.cayenne.project.ProjectLoader;
 import org.apache.cayenne.project.unit.Project2Case;
 import org.apache.cayenne.resource.Resource;
 import org.apache.cayenne.resource.URLResource;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.net.URL;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 public class DataChannelProjectSaverTest extends Project2Case {
 
+    @Test
     public void testSaveAs() throws Exception {
 
         FileProjectSaver saver = new FileProjectSaver();
@@ -95,6 +97,7 @@ public class DataChannelProjectSaverTest extends Project2Case {
         assertTrue(map2File.length() > 0);
     }
 
+    @Test
     public void testSaveAs_RecoverFromSaveError() throws Exception {
 
         FileProjectSaver saver = new FileProjectSaver() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-project/src/test/java/org/apache/cayenne/project/FileProjectSaverTest.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/FileProjectSaverTest.java b/cayenne-project/src/test/java/org/apache/cayenne/project/FileProjectSaverTest.java
index 117ec79..322245c 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/FileProjectSaverTest.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/FileProjectSaverTest.java
@@ -18,14 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.project;
 
-import java.io.File;
-import java.net.URL;
-import java.util.Arrays;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathFactory;
-
 import org.apache.cayenne.configuration.ConfigurationNameMapper;
 import org.apache.cayenne.configuration.ConfigurationTree;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
@@ -36,18 +28,28 @@ import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.project.FileProjectSaver;
-import org.apache.cayenne.project.Project;
 import org.apache.cayenne.project.unit.Project2Case;
 import org.apache.cayenne.resource.URLResource;
+import org.junit.Before;
+import org.junit.Test;
 import org.w3c.dom.Document;
 import org.w3c.dom.NodeList;
 
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathFactory;
+import java.io.File;
+import java.net.URL;
+import java.util.Arrays;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 public class FileProjectSaverTest extends Project2Case {
 
     private FileProjectSaver saver;
 
-    @Override
+    @Before
     public void setUp() throws Exception {
         Module testModule = new Module() {
 
@@ -62,6 +64,7 @@ public class FileProjectSaverTest extends Project2Case {
         injector.injectMembers(saver);
     }
 
+    @Test
     public void testSaveAs_Sorted() throws Exception {
 
         File testFolder = setupTestDirectory("testSaveAs_Sorted");
@@ -139,6 +142,7 @@ public class FileProjectSaverTest extends Project2Case {
      * in target file path then file must be created successfully.
      * @throws Exception
      */
+    @Test
     public void testSaveForProjectFileWithRelatedPaths() throws Exception {
         File testFolder = setupTestDirectory("testSaveForProjectFileWithRelatedPaths");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-project/src/test/java/org/apache/cayenne/project/ProjectTest.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/ProjectTest.java b/cayenne-project/src/test/java/org/apache/cayenne/project/ProjectTest.java
index 351db10..1ccfffc 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/ProjectTest.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/ProjectTest.java
@@ -18,15 +18,18 @@
  ****************************************************************/
 package org.apache.cayenne.project;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
 import org.apache.cayenne.configuration.ConfigurationTree;
-import org.apache.cayenne.project.Project;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
-public class ProjectTest extends TestCase {
+public class ProjectTest {
 
+    @Test
     public void testRootNode() {
 
         ConfigurationNode object = new ConfigurationNode() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-project/src/test/java/org/apache/cayenne/project/unit/Project2Case.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/unit/Project2Case.java b/cayenne-project/src/test/java/org/apache/cayenne/project/unit/Project2Case.java
index 4252b18..b6eb212 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/unit/Project2Case.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/unit/Project2Case.java
@@ -18,21 +18,20 @@
  ****************************************************************/
 package org.apache.cayenne.project.unit;
 
-import java.io.File;
-import java.io.IOException;
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.test.file.FileUtil;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
+import java.io.File;
+import java.io.IOException;
 
-import junit.framework.TestCase;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.test.file.FileUtil;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
+import static org.junit.Assert.fail;
 
-public class Project2Case extends TestCase {
+public class Project2Case {
 
     /**
      * A helper method returning the contents of an XML source as a DOM Document.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
index fe2c733..2cbd9af 100644
--- a/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
+++ b/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v7/ProjectUpgrader_V7Test.java
@@ -18,16 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.project.upgrade.v7;
 
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathFactory;
-
 import org.apache.cayenne.configuration.ConfigurationNameMapper;
 import org.apache.cayenne.configuration.DataMapLoader;
 import org.apache.cayenne.configuration.DefaultConfigurationNameMapper;
@@ -52,12 +42,31 @@ import org.apache.cayenne.project.upgrade.UpgradeType;
 import org.apache.cayenne.resource.Resource;
 import org.apache.cayenne.resource.URLResource;
 import org.apache.cayenne.test.resource.ResourceUtil;
+import org.junit.Test;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathFactory;
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 public class ProjectUpgrader_V7Test extends Project2Case {
 
+    @Test
     public void testMetadata_3_0_0_1() {
 
         String baseUrl = getClass().getPackage().getName().replace('.', '/');
@@ -92,6 +101,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
         assertEquals("7", md.getSupportedVersion());
     }
 
+    @Test
     public void testMetadata_Type2_0() {
         String baseUrl = getClass().getPackage().getName().replace('.', '/');
         URL url = getClass().getClassLoader().getResource(baseUrl + "/2_0a/cayenne.xml");
@@ -123,6 +133,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
         assertEquals("7", md.getSupportedVersion());
     }
 
+    @Test
     public void testMetadata_Type6() {
         String baseUrl = getClass().getPackage().getName().replace('.', '/');
         URL url = getClass().getClassLoader().getResource(baseUrl + "/6a/cayenne-PROJECT1.xml");
@@ -154,6 +165,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
         assertEquals("7", md.getSupportedVersion());
     }
 
+    @Test
     public void testMetadata_Type7() {
         String baseUrl = getClass().getPackage().getName().replace('.', '/');
         URL url = getClass().getClassLoader().getResource(baseUrl + "/7a/cayenne-PROJECT1.xml");
@@ -185,6 +197,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
         assertEquals("7", md.getSupportedVersion());
     }
 
+    @Test
     public void testPerformUpgradeFrom3() throws Exception {
 
         File testFolder = setupTestDirectory("testPerformUpgrade_3_0_0_1");
@@ -347,6 +360,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
         assertEquals("7", xpath.evaluate("/data-map/@project-version", document));
     }
 
+    @Test
     public void testPerformUpgradeFrom6() throws Exception {
         File testFolder = setupTestDirectory("testUpgrade6a");
         String sourceUrl = getClass().getPackage().getName().replace('.', '/') + "/6a/";
@@ -416,6 +430,7 @@ public class ProjectUpgrader_V7Test extends Project2Case {
         assertEquals("7", xpath.evaluate("/data-map/@project-version", document));
     }
 
+    @Test
     public void testObjAttributeDelete() throws Exception {
 
         File testFolder = setupTestDirectory("testObjAttribute");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java
index 80df740..8bdc454 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/gen/ClassGenerationActionTest.java
@@ -18,30 +18,33 @@
  ****************************************************************/
 package org.apache.cayenne.gen;
 
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.CallbackDescriptor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.query.NamedQuery;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-public class ClassGenerationActionTest extends TestCase {
+public class ClassGenerationActionTest {
 
     protected ClassGenerationAction action;
     protected Collection<StringWriter> writers;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
+    @Before
+    public void setUp() throws Exception {
         this.writers = new ArrayList<StringWriter>(3);
         this.action = new ClassGenerationAction() {
 
@@ -54,13 +57,13 @@ public class ClassGenerationActionTest extends TestCase {
         };
     }
 
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
+    @After
+    public void tearDown() throws Exception {
         action = null;
         writers = null;
     }
 
+    @Test
     public void testExecuteArtifactPairsImports() throws Exception {
 
         ObjEntity testEntity1 = new ObjEntity("TE1");
@@ -84,6 +87,7 @@ public class ClassGenerationActionTest extends TestCase {
                 subclass.contains("import org.example.auto._TestClass1;"));
     }
 
+    @Test
     public void testExecuteArtifactPairsMapRelationships() throws Exception {
 
         ObjEntity testEntity1 = new ObjEntity("TE1");
@@ -116,8 +120,8 @@ public class ClassGenerationActionTest extends TestCase {
         String superclass = generated.get(0);
         assertTrue(superclass, superclass.contains("import java.util.Map;"));
     }
-    
-    
+
+    @Test
     public void testExecuteArtifactPairsAttribute() throws Exception {
 
         ObjEntity testEntity1 = new ObjEntity("TE1");
@@ -157,10 +161,12 @@ public class ClassGenerationActionTest extends TestCase {
 
     }
 
+    @Test
     public void testExecuteDataMapQueryNames() throws Exception {
         runDataMapTest(false);
     }
 
+    @Test
     public void testExecuteClientDataMapQueryNames() throws Exception {
         runDataMapTest(true);
     }
@@ -181,11 +187,12 @@ public class ClassGenerationActionTest extends TestCase {
         assertTrue(generated.get(0).contains("public static final String TEST_QUERY_QUERYNAME = \"TestQuery\""));
     }
 
+    @Test
     public void testCallbackMethodGeneration() throws Exception {
         assertCallbacks(false);
     }
 
-    
+    @Test
     public void testClientCallbackMethodGeneration() throws Exception {
         assertCallbacks(true);
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/gen/EntityUtilsTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/gen/EntityUtilsTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/gen/EntityUtilsTest.java
index 7c303d9..0e4ce23 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/gen/EntityUtilsTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/gen/EntityUtilsTest.java
@@ -18,37 +18,39 @@
  ****************************************************************/
 package org.apache.cayenne.gen;
 
-import java.util.LinkedHashSet;
-import java.util.Set;
-
 import org.apache.cayenne.map.CallbackDescriptor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.ObjEntity;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertTrue;
 
 
-public class EntityUtilsTest extends TestCase {
+public class EntityUtilsTest {
     
     protected EntityUtils entityUtils = null;
     protected DataMap dataMap = null;
     protected ObjEntity objEntity = null;
     
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    @Before
+    public void setUp() throws Exception {
         dataMap = new DataMap();
         objEntity = new ObjEntity();
     }
     
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
+    @After
+    public void tearDown() throws Exception {
         dataMap = null;
         objEntity = null;
         entityUtils = null;
     }
-    
+
+    @Test
     public void testAllCallbackNamesUnique() throws Exception {
         
         CallbackDescriptor[] callbacks = objEntity.getCallbackMap().getCallbacks();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
index 6d71b27..c6baa31 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
@@ -19,24 +19,29 @@
 
 package org.apache.cayenne.gen;
 
-import junit.framework.TestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-public class ImportUtilsTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class ImportUtilsTest {
 
     protected ImportUtils importUtils = null;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    @Before
+    public void setUp() throws Exception {
         importUtils = new ImportUtils();
     }
 
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
+    @After
+    public void tearDown() throws Exception {
         importUtils = null;
     }
 
+    @Test
     public void testSetPackageGeneratesPackageStatement() throws Exception {
         final String packageName = "org.myPackage";
         final String expectedPackageStatement = "package " + packageName + ";";
@@ -54,6 +59,7 @@ public class ImportUtilsTest extends TestCase {
                 .lastIndexOf(expectedPackageStatement));
     }
 
+    @Test
     public void testAddTypeGeneratesImportStatement() throws Exception {
         final String type = "org.myPackage.myType";
         final String expectedImportStatement = "import " + type + ";";
@@ -71,6 +77,7 @@ public class ImportUtilsTest extends TestCase {
                 .lastIndexOf(expectedImportStatement));
     }
 
+    @Test
     public void testAddReservedTypeGeneratesNoImportStatement() throws Exception {
         final String type = "org.myPackage.myType";
 
@@ -83,6 +90,7 @@ public class ImportUtilsTest extends TestCase {
                 generatedStatements.indexOf(type));
     }
 
+    @Test
     public void testAddTypeAfterReservedTypeGeneratesNoImportStatement() throws Exception {
         final String baseType = "myType";
         final String reservedType = "org.myPackage." + baseType;
@@ -102,6 +110,7 @@ public class ImportUtilsTest extends TestCase {
                 generatedStatements.indexOf(nonReservedType));
     }
 
+    @Test
     public void testAddTypeAfterPackageReservedTypeGeneratesNoImportStatement()
             throws Exception {
         final String baseType = "myType";
@@ -125,6 +134,7 @@ public class ImportUtilsTest extends TestCase {
                 generatedStatements.indexOf(nonReservedType));
     }
 
+    @Test
     public void testAddTypeAfterTypeGeneratesNoImportStatement() throws Exception {
         final String baseType = "myType";
         final String firstType = "org.myPackage." + baseType;
@@ -152,6 +162,7 @@ public class ImportUtilsTest extends TestCase {
                 generatedStatements.indexOf(secondType));
     }
 
+    @Test
     public void testAddSimilarTypeTwiceBeforeFormatJavaTypeGeneratesCorrectFQNs()
             throws Exception {
         final String baseType = "myType";
@@ -165,6 +176,7 @@ public class ImportUtilsTest extends TestCase {
         assertEquals(secondType, importUtils.formatJavaType(secondType));
     }
 
+    @Test
     public void testAddTypeBeforeFormatJavaTypeGeneratesCorrectFQNs() throws Exception {
         final String baseType = "myType";
         final String fullyQualifiedType = "org.myPackage." + baseType;
@@ -174,6 +186,7 @@ public class ImportUtilsTest extends TestCase {
         assertEquals(baseType, importUtils.formatJavaType(fullyQualifiedType));
     }
 
+    @Test
     public void testAddReservedTypeBeforeFormatJavaTypeGeneratesCorrectFQNs()
             throws Exception {
         final String baseType = "myType";
@@ -184,6 +197,7 @@ public class ImportUtilsTest extends TestCase {
         assertEquals(fullyQualifiedType, importUtils.formatJavaType(fullyQualifiedType));
     }
 
+    @Test
     public void testFormatJavaTypeWithPrimitives() throws Exception {
         assertEquals("int", importUtils.formatJavaType("int", true));
         assertEquals("Integer", importUtils.formatJavaType("int", false));
@@ -199,6 +213,7 @@ public class ImportUtilsTest extends TestCase {
         assertEquals("a.b.C", importUtils.formatJavaType("a.b.C", false));
     }
 
+    @Test
     public void testFormatJavaTypeWithoutAddTypeGeneratesCorrectFQNs() throws Exception {
         final String baseType = "myType";
         final String fullyQualifiedType = "org.myPackage." + baseType;
@@ -206,6 +221,7 @@ public class ImportUtilsTest extends TestCase {
         assertEquals(fullyQualifiedType, importUtils.formatJavaType(fullyQualifiedType));
     }
 
+    @Test
     public void testPackageFormatJavaTypeWithoutAddTypeGeneratesCorrectFQNs()
             throws Exception {
         final String baseType = "myType";
@@ -217,12 +233,14 @@ public class ImportUtilsTest extends TestCase {
         assertEquals(baseType, importUtils.formatJavaType(fullyQualifiedType));
     }
 
+    @Test
     public void testFormatJavaType() {
         assertEquals("x.X", importUtils.formatJavaType("x.X"));
         assertEquals("X", importUtils.formatJavaType("java.lang.X"));
         assertEquals("java.lang.x.X", importUtils.formatJavaType("java.lang.x.X"));
     }
 
+    @Test
     public void testJavaLangTypeFormatJavaTypeWithoutAddTypeGeneratesCorrectFQNs()
             throws Exception {
         final String baseType = "myType";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/gen/StringUtilsTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/gen/StringUtilsTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/gen/StringUtilsTest.java
index 97270db..1ec6bd3 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/gen/StringUtilsTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/gen/StringUtilsTest.java
@@ -19,24 +19,27 @@
 
 package org.apache.cayenne.gen;
 
-import junit.framework.TestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-public class StringUtilsTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+
+public class StringUtilsTest {
 
     protected StringUtils stringUtils;
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
+    @Before
+    public void setUp() throws Exception {
         stringUtils = new StringUtils();
     }
 
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
+    @After
+    public void tearDown() throws Exception {
         stringUtils = null;
     }
 
+    @Test
     public void testPluralize() throws Exception {
         assertEquals("Words", stringUtils.pluralize("Word"));
         assertEquals("Statuses", stringUtils.pluralize("Status"));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java
index 5664d02..74fe191 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/map/naming/DefaultNameGeneratorTest.java
@@ -18,13 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.map.naming;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
-public class DefaultNameGeneratorTest extends TestCase {
+public class DefaultNameGeneratorTest {
+
+    @Test
     public void testStrategy() throws Exception {
         DefaultNameGenerator strategy = new DefaultNameGenerator();
         
@@ -52,4 +55,5 @@ public class DefaultNameGeneratorTest extends TestCase {
         assertEquals(strategy.createObjRelationshipName(new DbRelationship("mother")), "mother");
         assertEquals(strategy.createObjRelationshipName(new DbRelationship("persons")), "persons");
     }
+
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java
index 9680329..8942547 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java
@@ -19,14 +19,17 @@
 
 package org.apache.cayenne.tools;
 
-import java.util.regex.Pattern;
+import org.apache.cayenne.map.DataMap;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import java.util.regex.Pattern;
 
-import org.apache.cayenne.map.DataMap;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-public class AntDataPortDelegateTest extends TestCase {
+public class AntDataPortDelegateTest {
 
+    @Test
     public void testPassedDataMapFilter() {
         AntDataPortDelegate delegate = new AntDataPortDelegate();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
index a3f845a..df24bdb 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
@@ -19,26 +19,29 @@
 
 package org.apache.cayenne.tools;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.util.regex.Pattern;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.test.file.FileUtil;
 import org.apache.cayenne.test.resource.ResourceUtil;
 import org.apache.tools.ant.Location;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.FileList;
 import org.apache.tools.ant.types.Path;
+import org.junit.Test;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.regex.Pattern;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
-public class CayenneGeneratorTaskCrossMapRelationshipsTest extends TestCase {
+public class CayenneGeneratorTaskCrossMapRelationshipsTest {
 
     /**
      * Tests pairs generation with a cross-DataMap relationship.
      */
+    @Test
     public void testCrossDataMapRelationships() throws Exception {
 
         CayenneGeneratorTask task = new CayenneGeneratorTask();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
index 35ecc2d..09c954d 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
@@ -19,20 +19,24 @@
 
 package org.apache.cayenne.tools;
 
+import org.apache.cayenne.test.file.FileUtil;
+import org.apache.cayenne.test.resource.ResourceUtil;
+import org.apache.tools.ant.Location;
+import org.apache.tools.ant.Project;
+import org.junit.Before;
+import org.junit.Test;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStreamReader;
 import java.util.regex.Pattern;
 
-import junit.framework.TestCase;
-
-import org.apache.cayenne.test.file.FileUtil;
-import org.apache.cayenne.test.resource.ResourceUtil;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Project;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
-public class CayenneGeneratorTaskTest extends TestCase {
+public class CayenneGeneratorTaskTest {
 
     private static final File baseDir;
     private static final File map;
@@ -55,7 +59,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
 
     protected CayenneGeneratorTask task;
 
-    @Override
+    @Before
     public void setUp() {
 
         Project project = new Project();
@@ -70,6 +74,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
     /**
      * Test single classes with a non-standard template.
      */
+    @Test
     public void testSingleClassesCustTemplate() throws Exception {
         // prepare destination directory
         File mapDir = new File(baseDir, "single-classes-custtempl");
@@ -103,6 +108,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
     }
 
     /** Test single classes generation including full package path. */
+    @Test
     public void testSingleClasses1() throws Exception {
         // prepare destination directory
         File mapDir = new File(baseDir, "single-classes-tree");
@@ -135,6 +141,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
     }
 
     /** Test single classes generation ignoring package path. */
+    @Test
     public void testSingleClasses2() throws Exception {
         // prepare destination directory
         File mapDir = new File(baseDir, "single-classes-flat");
@@ -168,6 +175,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
     }
 
     /** Test pairs generation including full package path, default superclass package. */
+    @Test
     public void testPairs1() throws Exception {
         // prepare destination directory
         File mapDir = new File(baseDir, "pairs-tree");
@@ -201,6 +209,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
     }
 
     /** Test pairs generation in the same directory. */
+    @Test
     public void testPairs2() throws Exception {
         // prepare destination directory
         File mapDir = new File(baseDir, "pairs-flat");
@@ -238,6 +247,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
      * Test pairs generation including full package path with superclass and subclass in
      * different packages.
      */
+    @Test
     public void testPairs3() throws Exception {
         // prepare destination directory
         File mapDir = new File(baseDir, "pairs-tree-split");
@@ -271,6 +281,7 @@ public class CayenneGeneratorTaskTest extends TestCase {
                 "CayenneDataObject");
     }
 
+    @Test
     public void testPairsEmbeddable3() throws Exception {
         // prepare destination directory
         File mapDir = new File(baseDir, "pairs-embeddables3-split");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java
index 6dc4d62..12af0fd 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java
@@ -19,12 +19,6 @@
 
 package org.apache.cayenne.tools;
 
-import static org.mockito.Mockito.mock;
-
-import javax.sql.DataSource;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.dba.AutoAdapter;
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.sqlserver.SQLServerAdapter;
@@ -32,21 +26,31 @@ import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.tools.configuration.ToolsModule;
 import org.apache.commons.logging.Log;
+import org.junit.Test;
+
+import javax.sql.DataSource;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
 
-public class DbGeneratorTaskTest extends TestCase {
+public class DbGeneratorTaskTest {
 
+    @Test
     public void testSetUserName() throws Exception {
         DbGeneratorTask task = new DbGeneratorTask();
         task.setUserName("abc");
         assertEquals("abc", task.userName);
     }
 
+    @Test
     public void testSetPassword() throws Exception {
         DbGeneratorTask task = new DbGeneratorTask();
         task.setPassword("xyz");
         assertEquals("xyz", task.password);
     }
 
+    @Test
     public void testSetAdapter() throws Exception {
         DataSource ds = mock(DataSource.class);
         Injector injector = DIBootstrap.createInjector(new ToolsModule(mock(Log.class)));
@@ -62,6 +66,7 @@ public class DbGeneratorTaskTest extends TestCase {
         assertTrue(sqlServerAdapter instanceof SQLServerAdapter);
     }
 
+    @Test
     public void testSetUrl() throws Exception {
         DbGeneratorTask task = new DbGeneratorTask();
         task.setUrl("jdbc:///");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
index 143a473..67fe11c 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
@@ -19,15 +19,17 @@
 
 package org.apache.cayenne.tools;
 
-import junit.framework.TestCase;
-
 import org.apache.tools.ant.Task;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
-public class NamePatternMatcherTest extends TestCase {
+public class NamePatternMatcherTest {
 
     /**
      * Test pattern expansion.
      */
+    @Test
     public void testReplaceWildcardInStringWithString() throws Exception {
         assertEquals(null, NamePatternMatcher.replaceWildcardInStringWithString(
                 "*",
@@ -60,6 +62,7 @@ public class NamePatternMatcherTest extends TestCase {
     /**
      * Test tokenizing
      */
+    @Test
     public void testTokenizer() {
         Task parentTask = new Task() {
 
@@ -88,6 +91,7 @@ public class NamePatternMatcherTest extends TestCase {
     /**
      * Test tokenizing
      */
+    @Test
     public void testTokenizerEntities() {
         Task parentTask = new Task() {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/configuration/ToolsModuleTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/configuration/ToolsModuleTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/configuration/ToolsModuleTest.java
index c23f4e1..ae22f25 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/configuration/ToolsModuleTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/configuration/ToolsModuleTest.java
@@ -18,12 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.tools.configuration;
 
-import static org.mockito.Mockito.mock;
-
-import javax.sql.DataSource;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.server.DataSourceFactory;
 import org.apache.cayenne.configuration.server.DbAdapterFactory;
@@ -34,9 +28,17 @@ import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory;
 import org.apache.commons.logging.Log;
+import org.junit.Test;
+
+import javax.sql.DataSource;
+
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
 
-public class ToolsModuleTest extends TestCase {
+public class ToolsModuleTest {
 
+    @Test
     public void testModuleContents() {
 
         Log log = mock(Log.class);
@@ -48,6 +50,7 @@ public class ToolsModuleTest extends TestCase {
         assertTrue(i.getInstance(DbAdapterFactory.class) instanceof DefaultDbAdapterFactory);
     }
 
+    @Test
     public void testDbApdater() throws Exception {
         Log log = mock(Log.class);
         Injector i = DIBootstrap.createInjector(new ToolsModule(log));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegateTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegateTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegateTest.java
index 6244618..7614dbc 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegateTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegateTest.java
@@ -19,25 +19,28 @@
 
 package org.apache.cayenne.tools.dbimport;
 
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.CayenneException;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.tools.dbimport.DbImportDbLoaderDelegate;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-public class DbImportDbLoaderDelegateTest extends TestCase {
+public class DbImportDbLoaderDelegateTest {
 
     private DbImportDbLoaderDelegate delegate;
     private DataMap dataMap;
     private DbEntity dbEntity;
     private ObjEntity objEntity;
 
-    @Override
+    @Before
     public void setUp() {
         delegate = new DbImportDbLoaderDelegate();
         dataMap = new DataMap();
@@ -49,10 +52,12 @@ public class DbImportDbLoaderDelegateTest extends TestCase {
         objEntity.setDataMap(dataMap);
     }
 
+    @Test
     public void testOverwriteDbEntity() throws CayenneException {
         assertFalse(delegate.overwriteDbEntity(dbEntity));
     }
 
+    @Test
     public void testDbEntityAdded() {
         delegate.dbEntityAdded(dbEntity);
 
@@ -64,6 +69,7 @@ public class DbImportDbLoaderDelegateTest extends TestCase {
         assertEquals(entities, delegate.getAddedDbEntities());
     }
 
+    @Test
     public void testDbEntityRemoved() {
         // Make sure the entity is in the datamap to start.
         dataMap.addDbEntity(dbEntity);
@@ -76,6 +82,7 @@ public class DbImportDbLoaderDelegateTest extends TestCase {
         assertEquals(Arrays.asList(dbEntity), delegate.getRemovedDbEntities());
     }
 
+    @Test
     public void testObjEntityAdded() {
         delegate.objEntityAdded(objEntity);
 
@@ -87,6 +94,7 @@ public class DbImportDbLoaderDelegateTest extends TestCase {
         assertEquals(entities, delegate.getAddedObjEntities());
     }
 
+    @Test
     public void testObjEntityRemoved() {
         // Make sure the entity is in the datamap to start.
         dataMap.addObjEntity(objEntity);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportModuleTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportModuleTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportModuleTest.java
index be15c50..62b65ea 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportModuleTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DbImportModuleTest.java
@@ -18,16 +18,18 @@
  ****************************************************************/
 package org.apache.cayenne.tools.dbimport;
 
-import static org.mockito.Mockito.mock;
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.tools.configuration.ToolsModule;
 import org.apache.commons.logging.Log;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
 
-public class DbImportModuleTest extends TestCase {
+public class DbImportModuleTest {
 
+    @Test
     public void testModuleContents() {
 
         Log log = mock(Log.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/configuration/event/DataNodeEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/configuration/event/DataNodeEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/configuration/event/DataNodeEventTest.java
index 794b336..01d9840 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/configuration/event/DataNodeEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/configuration/event/DataNodeEventTest.java
@@ -19,20 +19,25 @@
 
 package org.apache.cayenne.configuration.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.map.event.MapEvent;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  */
-public class DataNodeEventTest extends TestCase {
+public class DataNodeEventTest {
 
+    @Test
     public void testNewName() throws Exception {
         MapEvent event = new DataNodeEvent(new Object(), new DataNodeDescriptor("someName"));
         assertEquals("someName", event.getNewName());
     }
 
+    @Test
     public void testNoNameChange() throws Exception {
         MapEvent event = new DataNodeEvent(new Object(), new DataNodeDescriptor("someName"));
         assertFalse(event.isNameChange());
@@ -41,6 +46,7 @@ public class DataNodeEventTest extends TestCase {
         assertTrue(event.isNameChange());
     }
 
+    @Test
     public void testNameChange() throws Exception {
         MapEvent event = new DataNodeEvent(
                 new Object(),

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/action/CreateNodeActionTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/action/CreateNodeActionTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/action/CreateNodeActionTest.java
index 0653f41..00a7e28 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/action/CreateNodeActionTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/action/CreateNodeActionTest.java
@@ -20,14 +20,17 @@
 package org.apache.cayenne.modeler.action;
 
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.conn.DataSourceInfo;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
-public class CreateNodeActionTest extends TestCase {
+public class CreateNodeActionTest {
 
+    @Test
     public void testCreateDataNode() {
         CreateNodeAction action;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/AttributeEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/AttributeEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/AttributeEventTest.java
index d6990d3..501369c 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/AttributeEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/AttributeEventTest.java
@@ -19,16 +19,18 @@
 
 package org.apache.cayenne.modeler.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.Attribute;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.event.AttributeEvent;
+import org.junit.Test;
+
+import static org.junit.Assert.assertSame;
 
 /**
  */
-public class AttributeEventTest extends TestCase {
+public class AttributeEventTest {
 
+    @Test
 	public void testAttribute() throws Exception {
 		Object src = new Object();
 		Attribute a = new DbAttribute();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DataMapEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DataMapEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DataMapEventTest.java
index f768a73..f1c4682 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DataMapEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DataMapEventTest.java
@@ -19,41 +19,46 @@
 
 package org.apache.cayenne.modeler.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.event.DataMapEvent;
 import org.apache.cayenne.map.DataMap;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
 
 /**
  */
-public class DataMapEventTest extends TestCase {
-
-   public void testConstructor1() throws Exception {
-    	Object src = new Object();
-    	DataMap d = new DataMap("abc");
-    	DataMapEvent e = new DataMapEvent(src, d);
-    	
-    	assertSame(src, e.getSource());
-    	assertSame(d, e.getDataMap());
+public class DataMapEventTest {
+
+    @Test
+    public void testConstructor1() throws Exception {
+        Object src = new Object();
+        DataMap d = new DataMap("abc");
+        DataMapEvent e = new DataMapEvent(src, d);
+
+        assertSame(src, e.getSource());
+        assertSame(d, e.getDataMap());
     }
-    
-    public void testConstructor2() throws Exception  {
-    	Object src = new Object();
-    	DataMap d = new DataMap("abc");
-    	DataMapEvent e = new DataMapEvent(src, d, "oldname");
-    	
-    	assertSame(src, e.getSource());
-    	assertSame(d, e.getDataMap());
-    	assertEquals("oldname", e.getOldName());
+
+    @Test
+    public void testConstructor2() throws Exception {
+        Object src = new Object();
+        DataMap d = new DataMap("abc");
+        DataMapEvent e = new DataMapEvent(src, d, "oldname");
+
+        assertSame(src, e.getSource());
+        assertSame(d, e.getDataMap());
+        assertEquals("oldname", e.getOldName());
     }
-    
-    public void testDataMap() throws Exception  {
-    	Object src = new Object();
-   	    DataMap d = new DataMap("abc");
-    	DataMapEvent e = new DataMapEvent(src, null);
-    	
-    	e.setDataMap(d);
-    	assertSame(d, e.getDataMap());
+
+    @Test
+    public void testDataMap() throws Exception {
+        Object src = new Object();
+        DataMap d = new DataMap("abc");
+        DataMapEvent e = new DataMapEvent(src, null);
+
+        e.setDataMap(d);
+        assertSame(d, e.getDataMap());
     }
 }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainDisplayEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainDisplayEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainDisplayEventTest.java
index 5889c1d..568618a 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainDisplayEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainDisplayEventTest.java
@@ -19,14 +19,16 @@
 
 package org.apache.cayenne.modeler.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.DataChannelDescriptor;
+import org.junit.Test;
+
+import static org.junit.Assert.assertSame;
 
 /**
  */
-public class DomainDisplayEventTest extends TestCase {
+public class DomainDisplayEventTest {
 
+    @Test
 	public void testDomain() throws Exception {
 		DataChannelDescriptor d = new DataChannelDescriptor();
 		DomainDisplayEvent e = new DomainDisplayEvent(new Object(), d);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainEventTest.java
index ff9c2f1..5aa295e 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/DomainEventTest.java
@@ -19,15 +19,18 @@
 
 package org.apache.cayenne.modeler.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.event.DomainEvent;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
 
 /**
  */
-public class DomainEventTest extends TestCase {
+public class DomainEventTest {
 
+    @Test
     public void testConstructor1() throws Exception {
     	Object src = new Object();
     	DataChannelDescriptor d = new DataChannelDescriptor();
@@ -36,7 +39,8 @@ public class DomainEventTest extends TestCase {
     	assertSame(src, e.getSource());
     	assertSame(d, e.getDomain());
     }
-    
+
+    @Test
     public void testConstructor2() throws Exception  {
     	Object src = new Object();
     	DataChannelDescriptor d = new DataChannelDescriptor();
@@ -46,7 +50,8 @@ public class DomainEventTest extends TestCase {
     	assertSame(d, e.getDomain());
     	assertEquals("oldname", e.getOldName());
     }
-    
+
+    @Test
     public void testDomain() throws Exception  {
     	Object src = new Object();
    	    DataChannelDescriptor d = new DataChannelDescriptor();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/EntityEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/EntityEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/EntityEventTest.java
index bcfedd4..c10d7e9 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/EntityEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/EntityEventTest.java
@@ -19,16 +19,21 @@
 
 package org.apache.cayenne.modeler.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.Entity;
 import org.apache.cayenne.map.event.EntityEvent;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
 /**
  */
-public class EntityEventTest extends TestCase {
+public class EntityEventTest {
 
+    @Test
     public void testConstructor1() throws Exception {
         Object src = new Object();
         Entity d = new DbEntity("abc");
@@ -38,6 +43,7 @@ public class EntityEventTest extends TestCase {
         assertSame(d, e.getEntity());
     }
 
+    @Test
     public void testConstructor2() throws Exception {
         Object src = new Object();
         Entity d = new DbEntity("abc");
@@ -48,6 +54,7 @@ public class EntityEventTest extends TestCase {
         assertEquals("oldname", e.getOldName());
     }
 
+    @Test
     public void testEntity() throws Exception {
         Object src = new Object();
         Entity d = new DbEntity("abc");
@@ -57,13 +64,15 @@ public class EntityEventTest extends TestCase {
         assertSame(d, e.getEntity());
     }
 
+    @Test
     public void testNameChange1() throws Exception {
         Entity d = new DbEntity("abc");
         EntityEvent e = new EntityEvent(new Object(), d, "xyz");
         assertEquals(d.getName(), e.getNewName());
         assertTrue(e.isNameChange());
     }
-    
+
+    @Test
 	public void testNameChange2() throws Exception {
 		Entity d = new DbEntity("abc");
 		EntityEvent e = new EntityEvent(new Object(), d, "abc");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/ModelerEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/ModelerEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/ModelerEventTest.java
index 8541afc..77a1f18 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/ModelerEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/ModelerEventTest.java
@@ -19,20 +19,24 @@
 
 package org.apache.cayenne.modeler.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.event.MapEvent;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
 
 /**
  */
-public class ModelerEventTest extends TestCase {
+public class ModelerEventTest {
 
+    @Test
     public void testConstructor1() throws Exception {
     	Object src = new Object();
     	MapEvent e = new TestMapEvent(src);
     	assertSame(src, e.getSource());
     }
-    
+
+    @Test
     public void testId() throws Exception  {
     	MapEvent e = new TestMapEvent(new Object());
     	assertEquals(MapEvent.CHANGE, e.getId());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/RelationshipEventTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/RelationshipEventTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/RelationshipEventTest.java
index b03225f..98bb773 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/RelationshipEventTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/event/RelationshipEventTest.java
@@ -19,16 +19,18 @@
 
 package org.apache.cayenne.modeler.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.Relationship;
 import org.apache.cayenne.map.event.RelationshipEvent;
+import org.junit.Test;
+
+import static org.junit.Assert.assertSame;
 
 /**
  */
-public class RelationshipEventTest extends TestCase {
+public class RelationshipEventTest {
 
+    @Test
 	public void testRelationship() throws Exception {
 		Object src = new Object();
 		Relationship r = new DbRelationship();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/ApplicationFileFilterTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/ApplicationFileFilterTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/ApplicationFileFilterTest.java
index 39fddca..aa7c211 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/ApplicationFileFilterTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/ApplicationFileFilterTest.java
@@ -19,34 +19,42 @@
 
 package org.apache.cayenne.modeler.util;
 
-import java.io.File;
+import org.junit.Before;
+import org.junit.Test;
 
 import javax.swing.filechooser.FileFilter;
+import java.io.File;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  */
-public class ApplicationFileFilterTest extends TestCase {
+public class ApplicationFileFilterTest {
 
     protected FileFilter filter;
 
+    @Before
     public void setUp() throws Exception {
         filter = FileFilters.getApplicationFilter();
     }
 
+    @Test
     public void testAcceptDir() throws Exception {
         assertTrue(filter.accept(new File(".")));
     }
 
+    @Test
     public void testAcceptCayenneXml() throws Exception {
         assertTrue(filter.accept(new File("cayenne.xml")));
     }
 
+    @Test
     public void testRejectOther() throws Exception {
         assertFalse(filter.accept(new File("somefile.txt")));
     }
 
+    @Test
     public void testRejectBadCayenneXml() throws Exception {
         assertFalse(filter.accept(new File("bad_cayenne.xml")));
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/CircularArrayTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/CircularArrayTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/CircularArrayTest.java
index bb03987..11fce3d 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/CircularArrayTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/CircularArrayTest.java
@@ -19,10 +19,13 @@
 
 package org.apache.cayenne.modeler.util;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
-public class CircularArrayTest extends TestCase {
+import static org.junit.Assert.assertEquals;
 
+public class CircularArrayTest {
+
+    @Test
     public void testArray() {
 
         String a = "A";
@@ -235,6 +238,7 @@ public class CircularArrayTest extends TestCase {
         }
     }
 
+    @Test
     public void testToString() {
         CircularArray a = new CircularArray(5);
         assertEquals("[null, null, null, null, null]", a.toString());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/DataMapFileFilterTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/DataMapFileFilterTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/DataMapFileFilterTest.java
index 71f1ae9..9c4d625 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/DataMapFileFilterTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/DataMapFileFilterTest.java
@@ -19,42 +19,52 @@
 
 package org.apache.cayenne.modeler.util;
 
-import java.io.File;
+import org.junit.Before;
+import org.junit.Test;
 
 import javax.swing.filechooser.FileFilter;
+import java.io.File;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  */
-public class DataMapFileFilterTest extends TestCase {
+public class DataMapFileFilterTest {
 
     protected FileFilter filter;
 
+    @Before
     public void setUp() throws Exception {
         filter = FileFilters.getDataMapFilter();
     }
 
+    @Test
     public void testAcceptDir() throws Exception {
         assertTrue(filter.accept(new File(".")));
     }
 
+    @Test
     public void testRejectCayenneXml() throws Exception {
         assertFalse(filter.accept(new File("cayenne.xml")));
     }
 
+    @Test
     public void testRejectOther() throws Exception {
         assertFalse(filter.accept(new File("somefile.txt")));
     }
 
+    @Test
     public void testRejectHiddenMapXml() throws Exception {
         assertFalse(filter.accept(new File(".map.xml")));
     }
 
+    @Test
     public void testAcceptMapXml() throws Exception {
         assertTrue(filter.accept(new File("xyz.map.xml")));
     }
 
+    @Test
     public void testRejectMixedCase() throws Exception {
         assertFalse(filter.accept(new File("xyz.MAP.xml")));
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/EOModelFileFilterTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/EOModelFileFilterTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/EOModelFileFilterTest.java
index 09a8ddb..4faec40 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/EOModelFileFilterTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/EOModelFileFilterTest.java
@@ -19,33 +19,42 @@
 
 package org.apache.cayenne.modeler.util;
 
-import java.io.File;
+import org.junit.Before;
+import org.junit.Test;
 
 import javax.swing.filechooser.FileFilter;
+import java.io.File;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  */
-public class EOModelFileFilterTest extends TestCase {
-	protected FileFilter filter;
+public class EOModelFileFilterTest {
 
+    protected FileFilter filter;
+
+    @Before
 	public void setUp() throws Exception {
 		filter = FileFilters.getEOModelFilter();
 	}
-	
+
+    @Test
 	public void testAcceptDir() throws Exception {
 		assertTrue(filter.accept(new File(".")));
 	}
-	
+
+    @Test
 	public void testRejectIndexEOM() throws Exception {
 		assertFalse(filter.accept(new File("index.eomodeld")));
 	}
-	
+
+    @Test
 	public void testAcceptIndexEOM() throws Exception {
 		assertTrue(filter.accept(new File("some.eomodeld/index.eomodeld")));
 	}
-	
+
+    @Test
 	public void testRejectOther() throws Exception {
 		assertFalse(filter.accept(new File("somefile.txt")));
 	}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/VersionTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/VersionTest.java b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/VersionTest.java
index 01bf41d..f92c264 100644
--- a/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/VersionTest.java
+++ b/modeler/cayenne-modeler/src/test/java/org/apache/cayenne/modeler/util/VersionTest.java
@@ -19,10 +19,15 @@
 
 package org.apache.cayenne.modeler.util;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
-public class VersionTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
+public class VersionTest {
+
+    @Test
     public void testValidConstructor() {
         Version v1 = new Version("1");
         assertEquals("1", v1.getVersionString());
@@ -31,6 +36,7 @@ public class VersionTest extends TestCase {
         assertEquals("1.1", v1_1.getVersionString());
     }
 
+    @Test
     public void testInValidConstructor() {
         try {
             new Version(null);
@@ -57,6 +63,7 @@ public class VersionTest extends TestCase {
         }
     }
 
+    @Test
     public void testCompare() {
         assertEquals(0, new Version("1.0").compareTo("1.0"));
         assertEquals(0, new Version("1.0.1").compareTo("1.0.1"));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
index dcf4b46..0d78ea6 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
@@ -19,6 +19,9 @@
 
 package org.apache.cayenne.wocompat;
 
+import org.junit.Before;
+import org.junit.Test;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
@@ -27,19 +30,25 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
-public class EOModelHelperTest extends TestCase {
+public class EOModelHelperTest {
 
     protected EOModelHelper helper;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         URL url = getClass().getClassLoader().getResource("wotests/art.eomodeld/");
         assertNotNull(url);
         helper = new EOModelHelper(url);
     }
 
+    @Test
     public void testModelNames() throws Exception {
         Iterator names = helper.modelNames();
 
@@ -55,6 +64,7 @@ public class EOModelHelperTest extends TestCase {
         assertTrue(list.contains("ExhibitType"));
     }
 
+    @Test
     public void testQueryNames() throws Exception {
         Iterator artistNames = helper.queryNames("Artist");
         assertFalse(artistNames.hasNext());
@@ -73,6 +83,7 @@ public class EOModelHelperTest extends TestCase {
         assertTrue(list.contains("TestQuery"));
     }
 
+    @Test
     public void testQueryPListMap() throws Exception {
         assertNull(helper.queryPListMap("Artist", "AAA"));
         assertNull(helper.queryPListMap("ExhibitType", "AAA"));
@@ -82,18 +93,21 @@ public class EOModelHelperTest extends TestCase {
         assertFalse(query.isEmpty());
     }
 
+    @Test
     public void testLoadQueryIndex() throws Exception {
         Map index = helper.loadQueryIndex("ExhibitType");
         assertNotNull(index);
         assertTrue(index.containsKey("FetchAll"));
     }
 
+    @Test
     public void testOpenQueryStream() throws Exception {
         InputStream in = helper.openQueryStream("ExhibitType");
         assertNotNull(in);
         in.close();
     }
 
+    @Test
     public void testOpenNonExistentQueryStream() throws Exception {
         try {
             helper.openQueryStream("Artist");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
index c7ad3ad..3c0e516 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
@@ -19,20 +19,24 @@
 
 package org.apache.cayenne.wocompat;
 
-import java.net.URL;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.net.URL;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
-public class EOModelProcessorInheritanceTest extends TestCase {
+public class EOModelProcessorInheritanceTest {
 
     private URL url;
     protected EOModelProcessor processor;
 
-    @Override
+    @Before
     public void setUp() throws Exception {
         processor = new EOModelProcessor();
 
@@ -40,6 +44,7 @@ public class EOModelProcessorInheritanceTest extends TestCase {
         assertNotNull(url);
     }
 
+    @Test
     public void testLoadAbstractEntity() throws Exception {
         DataMap map = processor.loadEOModel(url);
 
@@ -49,6 +54,7 @@ public class EOModelProcessorInheritanceTest extends TestCase {
         assertEquals("AbstractEntityClass", abstractE.getClassName());
     }
 
+    @Test
     public void testLoadConcreteEntity() throws Exception {
         DataMap map = processor.loadEOModel(url);
 
@@ -61,6 +67,7 @@ public class EOModelProcessorInheritanceTest extends TestCase {
         assertEquals("AbstractEntityClass", concreteE.getSuperClassName());
     }
 
+    @Test
     public void testLoadFlattenedRelationship() throws Exception {
         DataMap map = processor.loadEOModel(url);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
index 2eb0121..55555c8 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
@@ -19,12 +19,6 @@
 
 package org.apache.cayenne.wocompat;
 
-import java.io.PrintWriter;
-import java.net.URL;
-import java.util.Collection;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
@@ -35,16 +29,29 @@ import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.util.XMLEncoder;
+import org.junit.Before;
+import org.junit.Test;
 
-public class EOModelProcessorTest extends TestCase {
+import java.io.PrintWriter;
+import java.net.URL;
+import java.util.Collection;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+public class EOModelProcessorTest {
 
     protected EOModelProcessor processor;
 
-    @Override
+    @Before
     public void setUp() throws Exception {
         processor = new EOModelProcessor();
     }
 
+    @Test
     public void testLoadModel() throws Exception {
         URL url = getClass().getClassLoader().getResource("wotests/art.eomodeld/");
         assertNotNull(url);
@@ -57,6 +64,7 @@ public class EOModelProcessorTest extends TestCase {
         assertLoadedCustomTypes(map);
     }
 
+    @Test
     public void testLoadModelWithDependencies() throws Exception {
         URL url = getClass().getClassLoader().getResource(
                 "wotests/cross-model-relationships.eomodeld/");
@@ -79,7 +87,8 @@ public class EOModelProcessorTest extends TestCase {
         assertEquals(0, entity.getRelationships().size());
         assertEquals(0, entity.getDbEntity().getRelationships().size());
     }
-    
+
+    @Test
     public void testLoadFlattened() throws Exception {
         URL url = getClass().getClassLoader().getResource("wotests/flattened.eomodeld/");
         assertNotNull(url);
@@ -93,6 +102,7 @@ public class EOModelProcessorTest extends TestCase {
         assertNotNull(artistE.getRelationship("artistExhibitArray"));
     }
 
+    @Test
     public void testLoadBrokenModel() throws Exception {
         URL url = getClass().getClassLoader().getResource("art-with-errors.eomodeld/");
         assertNotNull(url);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
index df9eef4..64ca55f 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
@@ -19,27 +19,33 @@
 
 package org.apache.cayenne.wocompat;
 
-import java.net.URL;
-import java.sql.Types;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.net.URL;
+import java.sql.Types;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 
-public class EOModelPrototypesTest extends TestCase {
+public class EOModelPrototypesTest {
 
     private URL url;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         url = getClass().getClassLoader().getResource("prototypes.eomodeld/");
         assertNotNull(url);
     }
 
+    @Test
     public void testSkipPrototypes() throws Exception {
         DataMap map = new EOModelProcessor().loadEOModel(url);
 
@@ -48,6 +54,7 @@ public class EOModelPrototypesTest extends TestCase {
         assertNull(map.getObjEntity("EOXYZPrototypes"));
     }
 
+    @Test
     public void testDbAttributeType() throws Exception {
         DataMap map = new EOModelProcessor().loadEOModel(url);
 
@@ -70,6 +77,7 @@ public class EOModelPrototypesTest extends TestCase {
     // TODO: move this test to EOModelProcessorInheritanceTst. The original problem had
     // nothing
     // to do with prototypes...
+    @Test
     public void testSameColumnMapping() throws Exception {
         DataMap map = new EOModelProcessor().loadEOModel(url);
 
@@ -93,6 +101,7 @@ public class EOModelPrototypesTest extends TestCase {
 
     // TODO: move this test to EOModelProcessorInheritanceTst. The original problem had
     // nothing to do with prototypes...
+    @Test
     public void testOverridingAttributes() throws Exception {
         DataMap map = new EOModelProcessor().loadEOModel(url);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
index 19b0e6f..f48d9a2 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
@@ -19,17 +19,22 @@
 
 package org.apache.cayenne.wocompat;
 
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.query.PrefetchTreeNode;
+import org.junit.Test;
+
 import java.net.URL;
 import java.util.Collection;
 import java.util.Map;
 
-import junit.framework.TestCase;
-
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.query.PrefetchTreeNode;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
-public class EOQueryTest extends TestCase {
+public class EOQueryTest {
 
+    @Test
     public void testConstructor() throws Exception {
         
         URL url = getClass().getClassLoader().getResource("wotests/fetchspec.eomodeld/");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/PropertyListSerializationTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/PropertyListSerializationTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/PropertyListSerializationTest.java
index ca14eb3..9c49e5c 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/PropertyListSerializationTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/PropertyListSerializationTest.java
@@ -19,16 +19,21 @@
 
 package org.apache.cayenne.wocompat;
 
+import org.apache.cayenne.wocompat.unit.WOCompatCase;
+import org.junit.Test;
+
 import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.cayenne.wocompat.unit.WOCompatCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 public class PropertyListSerializationTest extends WOCompatCase {
 
+    @Test
     public void testListPlist() throws Exception {
         File plistFile = new File(setupTestDirectory("testListPlist"), "test-array.plist");
         List<Object> list = new ArrayList<Object>();
@@ -44,6 +49,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(list.equals(readList));
     }
 
+    @Test
     public void testMapPlist() throws Exception {
         File plistFile = new File(setupTestDirectory("testMapPlist"), "test-map.plist");
         Map map = new HashMap();
@@ -59,6 +65,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(map.equals(readMap));
     }
 
+    @Test
     public void testEmptyString() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testEmptyString"),
@@ -75,6 +82,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(map.equals(readMap));
     }
 
+    @Test
     public void testStringWithQuotes() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testStringWithQuotes"),
@@ -92,6 +100,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(list.equals(readList));
     }
 
+    @Test
     public void testNestedPlist() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testNestedPlist"),
@@ -114,6 +123,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(map.equals(readMap));
     }
 
+    @Test
     public void testStringWithSpaces() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testStringWithSpaces"),
@@ -131,6 +141,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(list.equals(readList));
     }
 
+    @Test
     public void testStringWithBraces() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testStringWithBraces"),
@@ -148,6 +159,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(list.equals(readList));
     }
 
+    @Test
     public void testStringWithSlashes() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testStringWithSlashes"),
@@ -165,6 +177,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(list.equals(readList));
     }
 
+    @Test
     public void testStringWithQuotes1() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testStringWithQuotes1"),
@@ -183,6 +196,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(list.equals(readList));
     }
 
+    @Test
     public void testStringWithPlusMinus() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testStringWithPlusMinus"),
@@ -201,6 +215,7 @@ public class PropertyListSerializationTest extends WOCompatCase {
         assertTrue(list.equals(readList));
     }
 
+    @Test
     public void testStringWithLessGreater() throws Exception {
         File plistFile = new File(
                 setupTestDirectory("testStringWithLessGreater"),


[3/4] git commit: Apply JUnit4 instead of JUnit3 in other modules

Posted by aa...@apache.org.
Apply JUnit4 instead of JUnit3 in other modules


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

Branch: refs/heads/master
Commit: ec5c3cff658aa7b8e2720f0f875b668433151483
Parents: f6640dd
Author: Savva Kolbechev <s....@gmail.com>
Authored: Wed Oct 29 16:35:12 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Thu Oct 30 16:41:29 2014 +0300

----------------------------------------------------------------------
 .../java/org/apache/cayenne/DataRowTest.java    |  9 ++-
 .../cayenne/ObjectContextChangeLogTest.java     | 10 +++-
 .../java/org/apache/cayenne/ObjectIdTest.java   | 17 ++++--
 .../apache/cayenne/access/types/EnumTest.java   | 20 +++++--
 .../rop/client/ClientLocalRuntimeTest.java      | 21 ++++---
 .../rop/client/ClientModuleTest.java            | 20 +++++--
 .../rop/client/ClientRuntimeTest.java           | 30 +++++++---
 .../apache/cayenne/event/EventSubjectTest.java  |  9 ++-
 .../org/apache/cayenne/graph/NodeDiffTest.java  |  9 ++-
 .../map/ClientObjectRelationshipTest.java       |  9 ++-
 .../org/apache/cayenne/map/DataMapTest.java     |  9 ++-
 .../org/apache/cayenne/map/DbEntityTest.java    | 10 +++-
 .../java/org/apache/cayenne/map/EntityTest.java |  9 ++-
 .../apache/cayenne/query/NamedQueryTest.java    | 10 +++-
 .../apache/cayenne/query/ObjectIdQueryTest.java | 10 +++-
 .../cayenne/query/PrefetchTreeNodeTest.java     | 13 ++++-
 .../apache/cayenne/query/RefreshQueryTest.java  |  9 ++-
 .../cayenne/query/RelationshipQueryTest.java    |  9 ++-
 .../cayenne/remote/ClientChannelTest.java       | 32 ++++++----
 .../cayenne/remote/LocalConnectionTest.java     |  8 ++-
 .../apache/cayenne/remote/SyncMessageTest.java  | 17 ++++--
 .../remote/hessian/HessianConnectionTest.java   | 19 +++---
 .../cayenne/util/GenericResponseTest.java       | 15 +++--
 .../apache/cayenne/util/ListResponseTest.java   | 10 +++-
 .../cayenne/util/PersistentObjectListTest.java  | 19 ++++--
 .../org/apache/cayenne/di/DIBootstrapTest.java  | 10 +++-
 .../java/org/apache/cayenne/di/KeyTest.java     | 11 +++-
 .../di/spi/DefaultInjectorBindingTest.java      | 14 ++++-
 .../DefaultInjectorCircularInjectionTest.java   | 14 +++--
 .../di/spi/DefaultInjectorDecorationTest.java   | 11 +++-
 .../di/spi/DefaultInjectorInjectionTest.java    | 23 +++++++-
 .../di/spi/DefaultInjectorScopeTest.java        | 20 +++++--
 .../cayenne/di/spi/DefaultInjectorTest.java     | 15 +++--
 .../lifecycle/audit/AuditableFilterTest.java    | 31 ++++++----
 .../audit/AuditableFilter_InRuntime_Test.java   | 29 ++++++----
 .../cayenne/lifecycle/id/EntityIdCoderTest.java | 40 ++++++++-----
 .../cayenne/lifecycle/id/IdCoderTest.java       | 23 +++++---
 .../cayenne/lifecycle/id/StringIdQueryTest.java | 32 ++++++----
 .../ObjectIdRelationshipHandlerTest.java        | 22 ++++---
 .../sort/WeightedAshwoodEntitySorterTest.java   | 24 ++++----
 .../project/DataChannelProjectLoaderTest.java   | 16 ++---
 .../project/DataChannelProjectSaverTest.java    | 19 +++---
 .../cayenne/project/FileProjectSaverTest.java   | 26 +++++----
 .../org/apache/cayenne/project/ProjectTest.java | 11 ++--
 .../cayenne/project/unit/Project2Case.java      | 17 +++---
 .../upgrade/v7/ProjectUpgrader_V7Test.java      | 35 +++++++----
 .../cayenne/gen/ClassGenerationActionTest.java  | 45 +++++++++------
 .../org/apache/cayenne/gen/EntityUtilsTest.java | 26 +++++----
 .../org/apache/cayenne/gen/ImportUtilsTest.java | 34 ++++++++---
 .../org/apache/cayenne/gen/StringUtilsTest.java | 19 +++---
 .../map/naming/DefaultNameGeneratorTest.java    | 10 +++-
 .../cayenne/tools/AntDataPortDelegateTest.java  | 11 ++--
 ...eGeneratorTaskCrossMapRelationshipsTest.java | 21 ++++---
 .../cayenne/tools/CayenneGeneratorTaskTest.java | 27 ++++++---
 .../cayenne/tools/DbGeneratorTaskTest.java      | 19 +++---
 .../cayenne/tools/NamePatternMatcherTest.java   | 10 +++-
 .../tools/configuration/ToolsModuleTest.java    | 17 +++---
 .../dbimport/DbImportDbLoaderDelegateTest.java  | 24 +++++---
 .../tools/dbimport/DbImportModuleTest.java      | 10 ++--
 .../configuration/event/DataNodeEventTest.java  | 12 +++-
 .../modeler/action/CreateNodeActionTest.java    |  9 ++-
 .../modeler/event/AttributeEventTest.java       |  8 ++-
 .../cayenne/modeler/event/DataMapEventTest.java | 61 +++++++++++---------
 .../modeler/event/DomainDisplayEventTest.java   |  8 ++-
 .../cayenne/modeler/event/DomainEventTest.java  | 15 +++--
 .../cayenne/modeler/event/EntityEventTest.java  | 17 ++++--
 .../cayenne/modeler/event/ModelerEventTest.java | 12 ++--
 .../modeler/event/RelationshipEventTest.java    |  8 ++-
 .../modeler/util/ApplicationFileFilterTest.java | 14 ++++-
 .../cayenne/modeler/util/CircularArrayTest.java |  8 ++-
 .../modeler/util/DataMapFileFilterTest.java     | 16 ++++-
 .../modeler/util/EOModelFileFilterTest.java     | 25 +++++---
 .../cayenne/modeler/util/VersionTest.java       | 11 +++-
 .../cayenne/wocompat/EOModelHelperTest.java     | 22 +++++--
 .../EOModelProcessorInheritanceTest.java        | 19 ++++--
 .../cayenne/wocompat/EOModelProcessorTest.java  | 28 ++++++---
 .../cayenne/wocompat/EOModelPrototypesTest.java | 25 +++++---
 .../apache/cayenne/wocompat/EOQueryTest.java    | 15 +++--
 .../wocompat/PropertyListSerializationTest.java | 17 +++++-
 .../wocompat/parser/PropertyListParserTest.java | 25 +++++++-
 .../cayenne/wocompat/unit/WOCompatCase.java     |  8 +--
 81 files changed, 980 insertions(+), 472 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/DataRowTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/DataRowTest.java b/cayenne-client/src/test/java/org/apache/cayenne/DataRowTest.java
index 9180b4f..55ab28f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/DataRowTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/DataRowTest.java
@@ -18,13 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
 
-public class DataRowTest extends TestCase {
+public class DataRowTest {
 
+    @Test
     public void testHessianSerializability() throws Exception {
         DataRow s1 = new DataRow(10);
         s1.put("a", "b");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/ObjectContextChangeLogTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/ObjectContextChangeLogTest.java b/cayenne-client/src/test/java/org/apache/cayenne/ObjectContextChangeLogTest.java
index 8a9cfe6..a30ea96 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/ObjectContextChangeLogTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/ObjectContextChangeLogTest.java
@@ -18,15 +18,19 @@
  ****************************************************************/
 package org.apache.cayenne;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.graph.CompoundDiff;
 import org.apache.cayenne.graph.NodeCreateOperation;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-public class ObjectContextChangeLogTest extends TestCase {
+public class ObjectContextChangeLogTest {
 
+    @Test
     public void testGetDiffsSerializableWithHessian() throws Exception {
         ObjectContextChangeLog recorder = new ObjectContextChangeLog();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/ObjectIdTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/ObjectIdTest.java b/cayenne-client/src/test/java/org/apache/cayenne/ObjectIdTest.java
index 659294c..f4ef665 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/ObjectIdTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/ObjectIdTest.java
@@ -18,16 +18,21 @@
  ****************************************************************/
 package org.apache.cayenne;
 
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
 import java.util.Collections;
 import java.util.Map;
 
-import junit.framework.TestCase;
-
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
 
-public class ObjectIdTest extends TestCase {
+public class ObjectIdTest {
 
+    @Test
     public void testHessianSerializabilityTemp() throws Exception {
         ObjectId temp1 = new ObjectId("e");
 
@@ -46,6 +51,7 @@ public class ObjectIdTest extends TestCase {
         assertEquals(temp1, temp2);
     }
 
+    @Test
     public void testHessianSerializabilityPerm() throws Exception {
         ObjectId perm1 = new ObjectId("e", "a", "b");
 
@@ -64,6 +70,7 @@ public class ObjectIdTest extends TestCase {
         assertEquals(perm1, perm2);
     }
 
+    @Test
     public void testHessianSerializabilityPerm1() throws Exception {
         // test serializing an id created with unmodifiable map
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/access/types/EnumTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/access/types/EnumTest.java b/cayenne-client/src/test/java/org/apache/cayenne/access/types/EnumTest.java
index 17d9f9d..f229431 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/access/types/EnumTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/access/types/EnumTest.java
@@ -19,23 +19,27 @@
 
 package org.apache.cayenne.access.types;
 
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.apache.cayenne.util.Util;
+import org.junit.Test;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
-import junit.framework.TestCase;
-
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.remote.hessian.service.HessianUtil;
-import org.apache.cayenne.util.Util;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
 /**
  * A test case checking Cayenne handling of 1.5 Enums.
  * 
  */
-public class EnumTest extends TestCase {
+public class EnumTest {
 
+    @Test
     public void testSerializabilityWithHessianStandalone() throws Exception {
         MockEnum before = MockEnum.a;
 
@@ -47,6 +51,7 @@ public class EnumTest extends TestCase {
         assertSame(before, after);
     }
 
+    @Test
     public void testSerializabilityWithHessianInTheMap() throws Exception {
         // test in the Map
         Map<String, MockEnum> map = new HashMap<String, MockEnum>();
@@ -60,6 +65,7 @@ public class EnumTest extends TestCase {
 
     }
 
+    @Test
     public void testSerializabilityWithHessianObjectProperty() throws Exception {
         // test object property
         MockEnumHolder object = new MockEnumHolder();
@@ -71,6 +77,7 @@ public class EnumTest extends TestCase {
         assertSame(MockEnum.b, after.getMockEnum());
     }
 
+    @Test
     public void testSerializabilityWithHessianObjectPropertyInAList() throws Exception {
 
         // test that Enum properties are serialized properly...
@@ -96,6 +103,7 @@ public class EnumTest extends TestCase {
         assertSame(MockEnum.c, o2d.getMockEnum());
     }
 
+    @Test
     public void testSerializability() throws Exception {
         MockEnum before = MockEnum.c;
         Object object = Util.cloneViaSerialization(before);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java
index eed972b..b49e1db 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.configuration.rop.client;
 
-import static org.mockito.Mockito.mock;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.access.ClientServerChannel;
@@ -36,9 +29,20 @@ import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.service.LocalConnection;
+import org.junit.Test;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
 
-public class ClientLocalRuntimeTest extends TestCase {
+public class ClientLocalRuntimeTest {
 
+    @Test
 	public void testDefaultConstructor() {
 
 		Module serverModule = new Module() {
@@ -55,6 +59,7 @@ public class ClientLocalRuntimeTest extends TestCase {
 		assertTrue(cmodules.toArray()[0] instanceof ClientModule);
 	}
 
+    @Test
 	public void testGetConnection() {
 
 		final DataContext serverContext = mock(DataContext.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
index b6d723d..8b2d94e 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
@@ -18,11 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.configuration.rop.client;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.ObjectContextFactory;
@@ -34,9 +29,19 @@ import org.apache.cayenne.remote.ClientChannel;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.MockClientConnection;
 import org.apache.cayenne.remote.hessian.HessianConnection;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
-public class ClientModuleTest extends TestCase {
+public class ClientModuleTest {
 
+    @Test
     public void testClientConnection() {
 
         Map<String, String> properties = new HashMap<String, String>();
@@ -53,6 +58,7 @@ public class ClientModuleTest extends TestCase {
                 .getInstance(ClientConnection.class));
     }
 
+    @Test
     public void testObjectContextFactory() {
 
         Map<String, String> properties = new HashMap<String, String>();
@@ -75,6 +81,7 @@ public class ClientModuleTest extends TestCase {
                 .getInstance(ObjectContextFactory.class));
     }
 
+    @Test
     public void testDataChannel() {
 
         Map<String, String> properties = new HashMap<String, String>();
@@ -103,6 +110,7 @@ public class ClientModuleTest extends TestCase {
         assertFalse(clientChannel.isChannelEventsEnabled());
     }
 
+    @Test
     public void testDataChannel_NoChannelEvents() {
 
         Map<String, String> properties = new HashMap<String, String>();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
index 8ecdcb0..99110a6 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
@@ -18,14 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.configuration.rop.client;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.CayenneContext;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.ObjectContext;
@@ -37,9 +29,24 @@ import org.apache.cayenne.event.EventManager;
 import org.apache.cayenne.remote.ClientChannel;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.MockClientConnection;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
-public class ClientRuntimeTest extends TestCase {
+public class ClientRuntimeTest {
 
+    @Test
 	public void testDefaultConstructor() {
 		ClientRuntime runtime = new ClientRuntime(Collections.<String, String> emptyMap());
 
@@ -50,6 +57,7 @@ public class ClientRuntimeTest extends TestCase {
 		assertTrue(marray[0] instanceof ClientModule);
 	}
 
+    @Test
 	public void testConstructor_Modules() {
 
 		final boolean[] configured = new boolean[2];
@@ -78,6 +86,7 @@ public class ClientRuntimeTest extends TestCase {
 		assertTrue(configured[1]);
 	}
 
+    @Test
 	public void testConstructor_ModulesCollection() {
 
 		final boolean[] configured = new boolean[2];
@@ -108,6 +117,7 @@ public class ClientRuntimeTest extends TestCase {
 		assertTrue(configured[1]);
 	}
 
+    @Test
 	public void testGetObjectContext() {
 
 		Map<String, String> properties = new HashMap<String, String>();
@@ -134,6 +144,7 @@ public class ClientRuntimeTest extends TestCase {
 		assertSame(runtime.getChannel(), clientContext.getChannel());
 	}
 
+    @Test
 	public void testGetDataChannel() {
 
 		Map<String, String> properties = new HashMap<String, String>();
@@ -154,6 +165,7 @@ public class ClientRuntimeTest extends TestCase {
 		assertTrue(channel instanceof ClientChannel);
 	}
 
+    @Test
 	public void testShutdown() throws Exception {
 
 		Map<String, String> properties = new HashMap<String, String>();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/event/EventSubjectTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/event/EventSubjectTest.java b/cayenne-client/src/test/java/org/apache/cayenne/event/EventSubjectTest.java
index 84b0289..dd872ac 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/event/EventSubjectTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/event/EventSubjectTest.java
@@ -18,13 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.event;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
 
-public class EventSubjectTest extends TestCase {
+public class EventSubjectTest {
 
+    @Test
     public void testEqualityOfClonedSubjectsHessian() throws Exception {
         EventSubject s1 = EventSubject.getSubject(EventSubjectTest.class, "MySubject");
         EventSubject s2 = (EventSubject) HessianUtil.cloneViaClientServerSerialization(s1, new EntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/graph/NodeDiffTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/graph/NodeDiffTest.java b/cayenne-client/src/test/java/org/apache/cayenne/graph/NodeDiffTest.java
index 47b0df9..2b7b6db 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/graph/NodeDiffTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/graph/NodeDiffTest.java
@@ -18,13 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.graph;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-public class NodeDiffTest extends TestCase {
+public class NodeDiffTest {
 
+    @Test
     public void testHessianSerialization() throws Exception {
 
         // id must be a serializable object...

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/map/ClientObjectRelationshipTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientObjectRelationshipTest.java b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientObjectRelationshipTest.java
index be0f9af..4fda2e8 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientObjectRelationshipTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientObjectRelationshipTest.java
@@ -18,12 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.map;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
-public class ClientObjectRelationshipTest extends TestCase {
+public class ClientObjectRelationshipTest {
 
+    @Test
     public void testSerializabilityViaHessian() throws Exception {
 
         ClientObjRelationship r1 = new ClientObjRelationship("r1", "rr1", true, true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/map/DataMapTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/DataMapTest.java b/cayenne-client/src/test/java/org/apache/cayenne/map/DataMapTest.java
index 2744b4b..b94254c 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/DataMapTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/DataMapTest.java
@@ -18,13 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.map;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
 import org.apache.cayenne.util.Util;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-public class DataMapTest extends TestCase {
+public class DataMapTest {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         DataMap m1 = new DataMap("abc");
         DataMap d1 = (DataMap) HessianUtil.cloneViaClientServerSerialization(m1, new EntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/map/DbEntityTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/DbEntityTest.java b/cayenne-client/src/test/java/org/apache/cayenne/map/DbEntityTest.java
index 940392d..ff01cb7 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/DbEntityTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/DbEntityTest.java
@@ -18,12 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.map;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-public class DbEntityTest extends TestCase {
+public class DbEntityTest {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         DbEntity entity = new DbEntity("entity");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/map/EntityTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/EntityTest.java b/cayenne-client/src/test/java/org/apache/cayenne/map/EntityTest.java
index d62ca5e..0ab9b99 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/EntityTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/EntityTest.java
@@ -19,11 +19,16 @@
 package org.apache.cayenne.map;
 
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
-public class EntityTest extends TestCase {
+public class EntityTest {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         Entity entity = new MockEntity("entity");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
index 267e137..8ca6e85 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
@@ -18,13 +18,17 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
 
-public class NamedQueryTest extends TestCase {
+public class NamedQueryTest {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         NamedQuery o = new NamedQuery("abc");
         Object clone = HessianUtil.cloneViaClientServerSerialization(o, new EntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/query/ObjectIdQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/ObjectIdQueryTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/ObjectIdQueryTest.java
index 913da5a..7607e44 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/ObjectIdQueryTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/ObjectIdQueryTest.java
@@ -18,14 +18,18 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-public class ObjectIdQueryTest extends TestCase {
+public class ObjectIdQueryTest {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         ObjectId oid = new ObjectId("test", "a", "b");
         ObjectIdQuery query = new ObjectIdQuery(oid);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
index 386fef0..90d4169 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
@@ -18,13 +18,19 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 
-public class PrefetchTreeNodeTest extends TestCase {
+public class PrefetchTreeNodeTest {
 
+    @Test
     public void testTreeSerializationWithHessian() throws Exception {
         PrefetchTreeNode n1 = new PrefetchTreeNode();
         PrefetchTreeNode n2 = n1.addPath("abc");
@@ -40,6 +46,7 @@ public class PrefetchTreeNodeTest extends TestCase {
         assertEquals("abc", nc2.getName());
     }
 
+    @Test
     public void testSubtreeSerializationWithHessian() throws Exception {
         PrefetchTreeNode n1 = new PrefetchTreeNode();
         PrefetchTreeNode n2 = n1.addPath("abc");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/query/RefreshQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/RefreshQueryTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/RefreshQueryTest.java
index 8aa285f..f7a44de 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/RefreshQueryTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/RefreshQueryTest.java
@@ -18,13 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
 
-public class RefreshQueryTest extends TestCase {
+public class RefreshQueryTest {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         RefreshQuery o = new RefreshQuery();
         Object clone = HessianUtil.cloneViaClientServerSerialization(o, new EntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/query/RelationshipQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/RelationshipQueryTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/RelationshipQueryTest.java
index 2cd4635..c39447b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/RelationshipQueryTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/RelationshipQueryTest.java
@@ -18,14 +18,17 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-public class RelationshipQueryTest extends TestCase {
+public class RelationshipQueryTest {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         ObjectId oid = new ObjectId("test", "a", "b");
         RelationshipQuery query = new RelationshipQuery(oid, "relX");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelTest.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelTest.java
index 3374a96..3638ae8 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelTest.java
@@ -19,17 +19,6 @@
 
 package org.apache.cayenne.remote;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.CayenneContext;
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.MockPersistentObject;
@@ -46,11 +35,27 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.util.GenericResponse;
+import org.junit.Test;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-public class ClientChannelTest extends TestCase {
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class ClientChannelTest {
 
+    @Test
     public void testOnQuerySelect() {
 
         final MockPersistentObject o1 = new MockPersistentObject();
@@ -102,6 +107,7 @@ public class ClientChannelTest extends TestCase {
         assertSame(o1_1, context.getGraphManager().getNode(oid1));
     }
 
+    @Test
     public void testOnQuerySelectOverrideCached() {
         ObjEntity entity = new ObjEntity("test_entity");
         entity.setClassName(MockPersistentObject.class.getName());
@@ -144,6 +150,7 @@ public class ClientChannelTest extends TestCase {
         assertSame(o1, context.getGraphManager().getNode(oid));
     }
 
+    @Test
     public void testOnQuerySelectOverrideModifiedCached() {
         ObjEntity entity = new ObjEntity("test_entity");
         entity.setClassName(MockPersistentObject.class.getName());
@@ -184,6 +191,7 @@ public class ClientChannelTest extends TestCase {
         assertSame(o1, context.getGraphManager().getNode(oid));
     }
 
+    @Test
     public void testEventBridgeFailure() throws Exception {
         MockClientConnection connection = new MockClientConnection() {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/remote/LocalConnectionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/LocalConnectionTest.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/LocalConnectionTest.java
index 56f6be7..2a0fb15 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/LocalConnectionTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/LocalConnectionTest.java
@@ -22,13 +22,17 @@ package org.apache.cayenne.remote;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.MockDataChannel;
 import org.apache.cayenne.remote.service.LocalConnection;
+import org.junit.Test;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
 /**
  */
-public class LocalConnectionTest extends TestCase {
+public class LocalConnectionTest {
 
+    @Test
     public void testConstructors() {
         DataChannel handler1 = new MockDataChannel();
         LocalConnection connector1 = new LocalConnection(handler1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/remote/SyncMessageTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/SyncMessageTest.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/SyncMessageTest.java
index 248405c..f38e0a3 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/SyncMessageTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/SyncMessageTest.java
@@ -19,9 +19,6 @@
 
 package org.apache.cayenne.remote;
 
-import static org.mockito.Mockito.mock;
-import junit.framework.TestCase;
-
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.graph.CompoundDiff;
@@ -29,9 +26,19 @@ import org.apache.cayenne.graph.GraphDiff;
 import org.apache.cayenne.graph.NodeCreateOperation;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
 
-public class SyncMessageTest extends TestCase {
+public class SyncMessageTest {
 
+    @Test
     public void testConstructor() {
         ObjectContext source = mock(ObjectContext.class);
         GraphDiff diff = new CompoundDiff();
@@ -42,6 +49,7 @@ public class SyncMessageTest extends TestCase {
         assertSame(diff, message.getSenderChanges());
     }
 
+    @Test
     public void testHessianSerialization() throws Exception {
         // id must be a serializable object; source doesn't have to be
         ObjectContext source = mock(ObjectContext.class);
@@ -58,6 +66,7 @@ public class SyncMessageTest extends TestCase {
         assertNotNull(ds.getSenderChanges());
     }
 
+    @Test
     public void testConstructorInvalid() {
         ObjectContext source = mock(ObjectContext.class);
         new SyncMessage(source, DataChannel.FLUSH_NOCASCADE_SYNC, new CompoundDiff());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/remote/hessian/HessianConnectionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/hessian/HessianConnectionTest.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/hessian/HessianConnectionTest.java
index d9a6d0c..e3808ed 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/hessian/HessianConnectionTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/hessian/HessianConnectionTest.java
@@ -19,26 +19,30 @@
 
 package org.apache.cayenne.remote.hessian;
 
-import org.apache.cayenne.remote.hessian.HessianConnection;
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.remote.ClientMessage;
 import org.apache.cayenne.remote.RemoteService;
 import org.apache.cayenne.remote.RemoteSession;
-import org.apache.cayenne.remote.ClientMessage;
 import org.apache.cayenne.remote.service.MissingSessionException;
-import org.apache.cayenne.CayenneRuntimeException;
-
-import junit.framework.TestCase;
+import org.junit.Test;
 
 import java.rmi.RemoteException;
 
-public class HessianConnectionTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+public class HessianConnectionTest {
 
+    @Test
     public void testConstructor1Arg() {
         HessianConnection c = new HessianConnection("a");
         assertEquals("a", c.getUrl());
         assertNull(c.getUserName());
         assertNull(c.getPassword());
     }
-    
+
+    @Test
     public void testConstructor3Arg() {
         HessianConnection c = new HessianConnection("a", "b", "c", "d");
         assertEquals("a", c.getUrl());
@@ -47,6 +51,7 @@ public class HessianConnectionTest extends TestCase {
         assertEquals("d", c.getSharedSessionName());
     }
 
+    @Test
     public void testMissingSessionException() {
         // Set up the test objects.  We want to mock out RemoteService.
         HessianConnection c = new HessianConnection("a");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java b/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
index 5d01616..4585b76 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/GenericResponseTest.java
@@ -18,17 +18,22 @@
  ****************************************************************/
 package org.apache.cayenne.util;
 
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
-import junit.framework.TestCase;
-
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-public class GenericResponseTest extends TestCase {
+public class GenericResponseTest {
 
+    @Test
     public void testSerializationWithHessian() throws Exception {
         List list = new ArrayList();
         list.add(new HashMap());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/util/ListResponseTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/ListResponseTest.java b/cayenne-client/src/test/java/org/apache/cayenne/util/ListResponseTest.java
index 6e3d556..ff0413f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/ListResponseTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/ListResponseTest.java
@@ -18,13 +18,17 @@
  ****************************************************************/
 package org.apache.cayenne.util;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-public class ListResponseTest extends TestCase {
+public class ListResponseTest {
 
+    @Test
     public void testSerializationWithHessian() throws Exception {
 
         ListResponse r = new ListResponse(new Integer(67));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java b/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
index 18abac4..c3c4206 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/PersistentObjectListTest.java
@@ -18,18 +18,24 @@
  ****************************************************************/
 package org.apache.cayenne.util;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
-public class PersistentObjectListTest extends TestCase {
+public class PersistentObjectListTest {
 
+    @Test
     public void testFaultHessianSerialization() throws Exception {
 
         ClientMtTable1 owner = new ClientMtTable1();
@@ -45,6 +51,7 @@ public class PersistentObjectListTest extends TestCase {
         assertNull(deserialized);
     }
 
+    @Test
     public void testResolvedHessianSerialization() throws Exception {
 
         ClientMtTable1 owner = new ClientMtTable1();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java
index 377c31b..9ce33f6 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java
@@ -18,16 +18,21 @@
  ****************************************************************/
 package org.apache.cayenne.di;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-public class DIBootstrapTest extends TestCase {
 
+public class DIBootstrapTest {
+
+    @Test
 	public void testCreateInjector_Empty() {
 		Injector emptyInjector = DIBootstrap.createInjector();
 		assertNotNull(emptyInjector);
 	}
 
+    @Test
 	public void testCreateInjector_SingleModule() {
 		final boolean[] configureCalled = new boolean[1];
 
@@ -43,6 +48,7 @@ public class DIBootstrapTest extends TestCase {
 		assertTrue(configureCalled[0]);
 	}
 
+    @Test
 	public void testCreateInjector_MultiModule() {
 
 		final boolean[] configureCalled = new boolean[2];

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/KeyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/KeyTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/KeyTest.java
index 056d1a2..152b020 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/KeyTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/KeyTest.java
@@ -18,10 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.di;
 
-import junit.framework.TestCase;
+import org.junit.Test;
 
-public class KeyTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
+public class KeyTest {
+
+    @Test
     public void testEquals() {
         Key<String> key1 = Key.get(String.class);
         Key<String> key2 = Key.get(String.class);
@@ -52,6 +57,7 @@ public class KeyTest extends TestCase {
         assertFalse(key7.equals(key4));
     }
 
+    @Test
     public void testHashCode() {
         Key<String> key1 = Key.get(String.class);
         Key<String> key2 = Key.get(String.class);
@@ -75,6 +81,7 @@ public class KeyTest extends TestCase {
         assertFalse(key7.hashCode() == key4.hashCode());
     }
 
+    @Test
     public void testToString() {
         assertEquals("<BindingKey: java.lang.String>", Key.get(String.class).toString());
         assertEquals("<BindingKey: java.lang.String, 'xyz'>", Key

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java
index 3d94710..e8c8712 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.di.spi;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.Module;
@@ -28,9 +26,15 @@ import org.apache.cayenne.di.mock.MockImplementation1Alt;
 import org.apache.cayenne.di.mock.MockImplementation1Alt2;
 import org.apache.cayenne.di.mock.MockInterface1;
 import org.apache.cayenne.di.mock.MockInterface1Provider;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
-public class DefaultInjectorBindingTest extends TestCase {
+public class DefaultInjectorBindingTest {
 
+    @Test
     public void testClassBinding() {
 
         Module module = new Module() {
@@ -47,6 +51,7 @@ public class DefaultInjectorBindingTest extends TestCase {
         assertEquals("MyName", service.getName());
     }
 
+    @Test
     public void testClassNamedBinding() {
 
         Module module = new Module() {
@@ -79,6 +84,7 @@ public class DefaultInjectorBindingTest extends TestCase {
         assertEquals("alt2", xyzObject.getName());
     }
 
+    @Test
     public void testProviderBinding() {
         Module module = new Module() {
 
@@ -96,6 +102,7 @@ public class DefaultInjectorBindingTest extends TestCase {
         assertEquals("MyName", service.getName());
     }
 
+    @Test
     public void testInstanceBinding() {
 
         final MockImplementation1 instance = new MockImplementation1();
@@ -114,6 +121,7 @@ public class DefaultInjectorBindingTest extends TestCase {
         assertSame(instance, service);
     }
 
+    @Test
     public void testClassReBinding() {
 
         Module module = new Module() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java
index 7fcac87..05e9156 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java
@@ -18,10 +18,8 @@
  ****************************************************************/
 package org.apache.cayenne.di.spi;
 
-import junit.framework.TestCase;
-
-import org.apache.cayenne.di.DIRuntimeException;
 import org.apache.cayenne.di.Binder;
+import org.apache.cayenne.di.DIRuntimeException;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.mock.MockImplementation1_DepOn2;
 import org.apache.cayenne.di.mock.MockImplementation1_DepOn2Constructor;
@@ -33,9 +31,14 @@ import org.apache.cayenne.di.mock.MockImplementation3;
 import org.apache.cayenne.di.mock.MockInterface1;
 import org.apache.cayenne.di.mock.MockInterface2;
 import org.apache.cayenne.di.mock.MockInterface3;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
-public class DefaultInjectorCircularInjectionTest extends TestCase {
+public class DefaultInjectorCircularInjectionTest {
 
+    @Test
     public void testFieldInjection_CircularDependency() {
 
         Module module = new Module() {
@@ -60,6 +63,7 @@ public class DefaultInjectorCircularInjectionTest extends TestCase {
         }
     }
 
+    @Test
     public void testProviderInjection_CircularDependency() {
 
         Module module = new Module() {
@@ -77,6 +81,7 @@ public class DefaultInjectorCircularInjectionTest extends TestCase {
         assertEquals("MockImplementation2Name", service.getName());
     }
 
+    @Test
     public void testConstructorInjection_CircularDependency() {
 
         Module module = new Module() {
@@ -103,6 +108,7 @@ public class DefaultInjectorCircularInjectionTest extends TestCase {
         }
     }
 
+    @Test
     public void testConstructorInjection_WithFieldInjectionDeps() {
 
         Module module = new Module() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java
index 263cdfd..266ade2 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.di.spi;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.mock.MockImplementation1;
@@ -27,9 +25,14 @@ import org.apache.cayenne.di.mock.MockInterface1;
 import org.apache.cayenne.di.mock.MockInterface1_Decorator1;
 import org.apache.cayenne.di.mock.MockInterface1_Decorator2;
 import org.apache.cayenne.di.mock.MockInterface1_Decorator3;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-public class DefaultInjectorDecorationTest extends TestCase {
+public class DefaultInjectorDecorationTest {
 
+    @Test
     public void testSingleDecorator_After() {
 
         Module module = new Module() {
@@ -48,6 +51,7 @@ public class DefaultInjectorDecorationTest extends TestCase {
         assertEquals("[MyName]", service.getName());
     }
 
+    @Test
     public void testSingleDecorator_Before() {
 
         Module module = new Module() {
@@ -66,6 +70,7 @@ public class DefaultInjectorDecorationTest extends TestCase {
         assertEquals("[MyName]", service.getName());
     }
 
+    @Test
     public void testDecoratorChain() {
 
         Module module = new Module() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
index 29566e3..4b72cdf 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.di.spi;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.Module;
@@ -43,9 +41,14 @@ import org.apache.cayenne.di.mock.MockInterface2;
 import org.apache.cayenne.di.mock.MockInterface3;
 import org.apache.cayenne.di.mock.MockInterface4;
 import org.apache.cayenne.di.mock.MockInterface5;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-public class DefaultInjectorInjectionTest extends TestCase {
+public class DefaultInjectorInjectionTest {
 
+    @Test
     public void testFieldInjection() {
 
         Module module = new Module() {
@@ -63,6 +66,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("altered_MyName", service.getAlteredName());
     }
 
+    @Test
     public void testFieldInjection_Named() {
 
         Module module = new Module() {
@@ -84,6 +88,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("altered_alt", service.getAlteredName());
     }
 
+    @Test
     public void testFieldInjectionSuperclass() {
 
         Module module = new Module() {
@@ -102,6 +107,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("altered_MyName:XName", service.getAlteredName());
     }
 
+    @Test
     public void testConstructorInjection() {
 
         Module module = new Module() {
@@ -119,6 +125,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("constructor_MyName", service.getName());
     }
 
+    @Test
     public void testConstructorInjection_Named() {
 
         Module module = new Module() {
@@ -140,6 +147,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("constructor_alt2", service.getName());
     }
 
+    @Test
     public void testConstructorInjection_Named_Mixed() {
 
         Module module = new Module() {
@@ -162,6 +170,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("constructor_alt2_XName", service.getName());
     }
 
+    @Test
     public void testProviderInjection_Constructor() {
 
         Module module = new Module() {
@@ -179,6 +188,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("altered_MyName", service.getAlteredName());
     }
 
+    @Test
     public void testMapInjection_Empty() {
         Module module = new Module() {
 
@@ -198,6 +208,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("", service.getName());
     }
 
+    @Test
     public void testMapInjection() {
         Module module = new Module() {
 
@@ -218,6 +229,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals(";x=xvalue1;y=yvalue", service.getName());
     }
 
+    @Test
     public void testMapInjection_Resumed() {
         Module module = new Module() {
 
@@ -240,6 +252,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals(";x=xvalue1;y=yvalue;z=zvalue", service.getName());
     }
 
+    @Test
     public void testListInjection_addValue() {
         Module module = new Module() {
 
@@ -258,6 +271,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals(";xvalue;yvalue", service.getName());
     }
 
+    @Test
     public void testListInjection_addType() {
         Module module = new Module() {
 
@@ -278,6 +292,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals(";xyz;yvalue", service.getName());
     }
 
+    @Test
     public void testListInjection_empty() {
         Module module = new Module() {
 
@@ -295,6 +310,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals("", service.getName());
     }
 
+    @Test
     public void testListInjection_resumed() {
         Module module = new Module() {
 
@@ -314,6 +330,7 @@ public class DefaultInjectorInjectionTest extends TestCase {
         assertEquals(";xvalue;yvalue;avalue", service.getName());
     }
 
+    @Test
     public void testInjectorInjection() {
         Module module = new Module() {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java
index 5013015..932b728 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java
@@ -18,18 +18,25 @@
  ****************************************************************/
 package org.apache.cayenne.di.spi;
 
-import junit.framework.TestCase;
-
+import org.apache.cayenne.di.BeforeScopeEnd;
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.di.BeforeScopeEnd;
 import org.apache.cayenne.di.mock.MockImplementation1;
 import org.apache.cayenne.di.mock.MockImplementation1_EventAnnotations;
 import org.apache.cayenne.di.mock.MockImplementation1_Provider;
 import org.apache.cayenne.di.mock.MockInterface1;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
-public class DefaultInjectorScopeTest extends TestCase {
+public class DefaultInjectorScopeTest {
 
+    @Test
     public void testDefaultScope_IsSingleton() {
 
         Module module = new Module() {
@@ -53,6 +60,7 @@ public class DefaultInjectorScopeTest extends TestCase {
         assertSame(instance2, instance3);
     }
 
+    @Test
     public void testNoScope() {
 
         Module module = new Module() {
@@ -80,6 +88,7 @@ public class DefaultInjectorScopeTest extends TestCase {
         assertNotSame(instance3, instance1);
     }
 
+    @Test
     public void testSingletonScope() {
 
         Module module = new Module() {
@@ -106,6 +115,7 @@ public class DefaultInjectorScopeTest extends TestCase {
         assertSame(instance2, instance3);
     }
 
+    @Test
     public void testSingletonScope_AnnotatedEvents() {
 
         MockImplementation1_EventAnnotations.reset();
@@ -134,6 +144,7 @@ public class DefaultInjectorScopeTest extends TestCase {
         assertTrue(MockImplementation1_EventAnnotations.shutdown3);
     }
 
+    @Test
     public void testSingletonScope_WithProvider() {
 
         Module module = new Module() {
@@ -158,6 +169,7 @@ public class DefaultInjectorScopeTest extends TestCase {
         assertSame(instance2, instance3);
     }
 
+    @Test
     public void testNoScope_WithProvider() {
 
         Module module = new Module() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorTest.java
index 6a88b61..23a000c 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorTest.java
@@ -18,20 +18,25 @@
  ****************************************************************/
 package org.apache.cayenne.di.spi;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.mock.MockImplementation1_EventAnnotations;
 import org.apache.cayenne.di.mock.MockInterface1;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-public class DefaultInjectorTest extends TestCase {
+public class DefaultInjectorTest {
 
+    @Test
     public void testConstructor_Empty() {
         new DefaultInjector();
         // no exceptions...
     }
 
+    @Test
     public void testConstructor_SingleModule() {
         final boolean[] configureCalled = new boolean[1];
 
@@ -46,6 +51,7 @@ public class DefaultInjectorTest extends TestCase {
         assertTrue(configureCalled[0]);
     }
 
+    @Test
     public void testConstructor_MultiModule() {
 
         final boolean[] configureCalled = new boolean[2];
@@ -68,7 +74,8 @@ public class DefaultInjectorTest extends TestCase {
         assertTrue(configureCalled[0]);
         assertTrue(configureCalled[1]);
     }
-    
+
+    @Test
     public void testShutdown() {
 
         MockImplementation1_EventAnnotations.reset();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
index d5aadcf..22c5062 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
@@ -18,12 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.audit;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import junit.framework.TestCase;
-
 import org.apache.cayenne.CayenneDataObject;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.DataChannelFilterChain;
@@ -39,17 +33,25 @@ import org.apache.cayenne.lifecycle.id.IdCoder;
 import org.apache.cayenne.lifecycle.relationship.ObjectIdRelationshipHandler;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-public class AuditableFilterTest extends TestCase {
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class AuditableFilterTest {
 
     private AuditableProcessor processor;
     private ServerRuntime runtime;
     private AuditableFilter filter;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
 
         EntityResolver resolver = mock(EntityResolver.class);
 
@@ -65,11 +67,12 @@ public class AuditableFilterTest extends TestCase {
         this.filter.init(channel);
     }
 
-    @Override
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         runtime.shutdown();
     }
 
+    @Test
     public void testInsertAudit() {
 
         Persistent audited = mock(Persistent.class);
@@ -79,6 +82,7 @@ public class AuditableFilterTest extends TestCase {
         verify(processor).audit(audited, AuditableOperation.INSERT);
     }
 
+    @Test
     public void testDeleteAudit() {
 
         Persistent audited = mock(Persistent.class);
@@ -88,6 +92,7 @@ public class AuditableFilterTest extends TestCase {
         verify(processor).audit(audited, AuditableOperation.DELETE);
     }
 
+    @Test
     public void testUpdateAudit() {
 
         Persistent audited = mock(Persistent.class);
@@ -97,6 +102,7 @@ public class AuditableFilterTest extends TestCase {
         verify(processor).audit(audited, AuditableOperation.UPDATE);
     }
 
+    @Test
     public void testUpdateAuditChild() {
 
         Persistent auditedParent = mock(Persistent.class);
@@ -109,6 +115,7 @@ public class AuditableFilterTest extends TestCase {
         verify(processor).audit(auditedParent, AuditableOperation.UPDATE);
     }
 
+    @Test
     public void testUpdateAuditChildByObjectIdRelationship() {
 
         ObjectContext context = runtime.newContext();
@@ -125,6 +132,7 @@ public class AuditableFilterTest extends TestCase {
         verify(processor).audit(auditedParent, AuditableOperation.UPDATE);
     }
 
+    @Test
     public void testOnSyncPassThrough() {
 
         ObjectContext context = mock(ObjectContext.class);
@@ -139,6 +147,7 @@ public class AuditableFilterTest extends TestCase {
         verify(chain).onSync(context, changes, DataChannel.ROLLBACK_CASCADE_SYNC);
     }
 
+    @Test
     public void testOnSyncAuditEventsCollapse() {
 
         ObjectContext context = mock(ObjectContext.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilter_InRuntime_Test.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilter_InRuntime_Test.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilter_InRuntime_Test.java
index 76a04d5..4067e5b 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilter_InRuntime_Test.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilter_InRuntime_Test.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.audit;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.Persistent;
@@ -41,8 +34,19 @@ import org.apache.cayenne.lifecycle.id.IdCoder;
 import org.apache.cayenne.lifecycle.relationship.ObjectIdRelationshipHandler;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
-public class AuditableFilter_InRuntime_Test extends TestCase {
+public class AuditableFilter_InRuntime_Test {
 
     private ServerRuntime runtime;
 
@@ -54,8 +58,8 @@ public class AuditableFilter_InRuntime_Test extends TestCase {
     private TableHelper auditableChild3;
     private TableHelper auditableChildUuid;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         runtime = new ServerRuntime("cayenne-lifecycle.xml");
 
         DBHelper dbHelper = new DBHelper(runtime.getDataSource(null));
@@ -86,6 +90,7 @@ public class AuditableFilter_InRuntime_Test extends TestCase {
         auditableChildUuid.deleteAll();
     }
 
+    @Test
     public void testAudit_IgnoreRuntimeRelationships() throws Exception {
 
         auditable1.insert(1, "xx");
@@ -126,6 +131,7 @@ public class AuditableFilter_InRuntime_Test extends TestCase {
         assertTrue(processor.audited.get(AuditableOperation.UPDATE).contains(a3));
     }
 
+    @Test
     public void testAudit_IncludeToManyRelationships() throws Exception {
 
         auditable1.insert(1, "xx");
@@ -158,6 +164,7 @@ public class AuditableFilter_InRuntime_Test extends TestCase {
                 Cayenne.objectForPK(context, Auditable1.class, 1)));
     }
 
+    @Test
     public void testAudit_IgnoreProperties() throws Exception {
 
         auditable2.insert(1, "P1_1", "P2_1");
@@ -193,6 +200,7 @@ public class AuditableFilter_InRuntime_Test extends TestCase {
         assertTrue(processor.audited.get(AuditableOperation.UPDATE).contains(a3));
     }
 
+    @Test
     public void testAuditableChild_IgnoreProperties() throws Exception {
 
         auditable2.insert(1, "P1_1", "P2_1");
@@ -226,6 +234,7 @@ public class AuditableFilter_InRuntime_Test extends TestCase {
         assertEquals(1, processor.size);
     }
 
+    @Test
     public void testAuditableChild_objectIdRelationship() throws Exception {
         auditable1.insert(1, "xx");
         auditableChildUuid.insert(1, "Auditable1:1", "xxx", "yyy");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
index d1a3458..d626a66 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
@@ -18,40 +18,45 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.id;
 
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.sql.Types;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjEntity;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-public class EntityIdCoderTest extends TestCase {
+import java.sql.Types;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class EntityIdCoderTest {
 
     private ServerRuntime runtime;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         runtime = new ServerRuntime("cayenne-lifecycle.xml");
     }
 
-    @Override
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         runtime.shutdown();
     }
-    
+
+    @Test
     public void testGetEntityName() {
         assertEquals("M", EntityIdCoder.getEntityName("M:N:K"));
         assertEquals("M", EntityIdCoder.getEntityName(".M:N:K"));
     }
 
+    @Test
     public void testTempId() {
 
         ObjEntity e1 = runtime.getChannel().getEntityResolver()
@@ -69,6 +74,7 @@ public class EntityIdCoderTest extends TestCase {
         assertEquals(encoded, decoded);
     }
 
+    @Test
     public void testSingleIntPk() {
         DbEntity dbEntity = new DbEntity("X");
         DbAttribute pk = new DbAttribute("ID");
@@ -90,6 +96,7 @@ public class EntityIdCoderTest extends TestCase {
         assertEquals(id, parsedId);
     }
 
+    @Test
     public void testSingleLongPk() {
         DbEntity dbEntity = new DbEntity("X");
         DbAttribute pk = new DbAttribute("ID");
@@ -111,6 +118,7 @@ public class EntityIdCoderTest extends TestCase {
         assertEquals(id, parsedId);
     }
 
+    @Test
     public void testSingleStringPk() {
         DbEntity dbEntity = new DbEntity("X");
         DbAttribute pk = new DbAttribute("ID");
@@ -132,6 +140,7 @@ public class EntityIdCoderTest extends TestCase {
         assertEquals(id, parsedId);
     }
 
+    @Test
     public void testIdEncoding() {
         DbEntity dbEntity = new DbEntity("X");
         DbAttribute pk = new DbAttribute("ID");
@@ -153,6 +162,7 @@ public class EntityIdCoderTest extends TestCase {
         assertEquals(id, parsedId);
     }
 
+    @Test
     public void testMixedCompoundPk() {
         DbEntity dbEntity = new DbEntity("X");
         DbAttribute pk1 = new DbAttribute("ID");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
index cbddca0..f89585a 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
@@ -18,27 +18,30 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.id;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.lifecycle.db.E1;
-import org.apache.cayenne.lifecycle.id.IdCoder;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
-public class IdCoderTest extends TestCase {
+public class IdCoderTest {
 
     private ServerRuntime runtime;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         runtime = new ServerRuntime("cayenne-lifecycle.xml");
     }
 
-    @Override
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         runtime.shutdown();
     }
 
+    @Test
     public void testGetStringId() {
         IdCoder handler = new IdCoder(runtime.getChannel().getEntityResolver());
 
@@ -47,11 +50,13 @@ public class IdCoderTest extends TestCase {
         assertEquals("E1:5", handler.getStringId(e1));
     }
 
+    @Test
     public void testGetStringId_ObjectId() {
         IdCoder handler = new IdCoder(runtime.getChannel().getEntityResolver());
         assertEquals("E1:5", handler.getStringId(new ObjectId("E1", "ID", 5)));
     }
 
+    @Test
     public void testGetStringId_Temp() {
         IdCoder handler = new IdCoder(runtime.getChannel().getEntityResolver());
 
@@ -63,6 +68,7 @@ public class IdCoderTest extends TestCase {
         assertEquals(".E1:01020A64", handler.getStringId(e1));
     }
 
+    @Test
     public void testGetObjectId_Temp() {
         IdCoder handler = new IdCoder(runtime.getChannel().getEntityResolver());
 
@@ -72,6 +78,7 @@ public class IdCoderTest extends TestCase {
         assertEquals(new ObjectId("E1", key), decoded);
     }
 
+    @Test
     public void testGetSringId_TempWithReplacement() {
         IdCoder handler = new IdCoder(runtime.getChannel().getEntityResolver());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
index 81f40fc..18c5304 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java
@@ -18,39 +18,44 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.id;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.QueryResponse;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-public class StringIdQueryTest extends TestCase {
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class StringIdQueryTest {
 
     private ServerRuntime runtime;
     private DBHelper dbHelper;
     private TableHelper e1Helper;
     private TableHelper e2Helper;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         runtime = new ServerRuntime("cayenne-lifecycle.xml");
         dbHelper = new DBHelper(runtime.getDataSource("lifecycle-db"));
         e1Helper = new TableHelper(dbHelper, "E1", "ID");
         e2Helper = new TableHelper(dbHelper, "E2", "ID");
     }
 
-    @Override
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         runtime.shutdown();
     }
 
+    @Test
     public void testConstructor() {
         StringIdQuery q1 = new StringIdQuery();
         assertEquals(0, q1.getStringIds().size());
@@ -68,6 +73,7 @@ public class StringIdQueryTest extends TestCase {
         assertTrue(q3.getStringIds().contains("c"));
     }
 
+    @Test
     public void testPerformQuery_SingleEntity() throws Exception {
         e1Helper.deleteAll();
         e1Helper.insert(3).insert(4);
@@ -89,6 +95,7 @@ public class StringIdQueryTest extends TestCase {
         assertTrue(ids.contains(4l));
     }
 
+    @Test
     public void testPerformQuery_MultipleEntities() throws Exception {
         e1Helper.deleteAll();
         e1Helper.insert(3).insert(4);
@@ -114,4 +121,5 @@ public class StringIdQueryTest extends TestCase {
         assertTrue(ids.contains("E1:4"));
         assertTrue(ids.contains("E2:6"));
     }
+
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
index ca4bd5c..4263b9d 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.relationship;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.configuration.server.ServerRuntime;
@@ -29,16 +27,23 @@ import org.apache.cayenne.lifecycle.id.IdCoder;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
 
-public class ObjectIdRelationshipHandlerTest extends TestCase {
+public class ObjectIdRelationshipHandlerTest {
 
     private ServerRuntime runtime;
 
     private TableHelper rootTable;
     private TableHelper e1Table;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         runtime = new ServerRuntime("cayenne-lifecycle.xml");
 
         // a filter is required to invalidate root objects after commit
@@ -56,11 +61,12 @@ public class ObjectIdRelationshipHandlerTest extends TestCase {
         e1Table.deleteAll();
     }
 
-    @Override
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         runtime.shutdown();
     }
 
+    @Test
     public void testRelate_Existing() throws Exception {
 
         e1Table.insert(1);
@@ -84,6 +90,7 @@ public class ObjectIdRelationshipHandlerTest extends TestCase {
         assertEquals("E1:1", r1x[1]);
     }
 
+    @Test
     public void testRelate_New() throws Exception {
 
         ObjectContext context = runtime.newContext();
@@ -107,6 +114,7 @@ public class ObjectIdRelationshipHandlerTest extends TestCase {
         assertEquals("E1:" + id, r1.getUuid());
     }
 
+    @Test
     public void testRelate_Change() throws Exception {
 
         e1Table.insert(1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ec5c3cff/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
index 4eded36..07ea85f 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
@@ -18,29 +18,33 @@
  ****************************************************************/
 package org.apache.cayenne.lifecycle.sort;
 
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
 
-public class WeightedAshwoodEntitySorterTest extends TestCase {
+public class WeightedAshwoodEntitySorterTest {
 
     private ServerRuntime runtime;
 
-    @Override
-    protected void setUp() throws Exception {
+    @Before
+    public void setUp() throws Exception {
         runtime = new ServerRuntime("cayenne-lifecycle.xml");
     }
 
-    @Override
-    protected void tearDown() throws Exception {
+    @After
+    public void tearDown() throws Exception {
         runtime.shutdown();
     }
 
+    @Test
     public void testSortDbEntities() {
 
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();