You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by st...@apache.org on 2018/10/14 19:13:45 UTC
[openjpa] branch trunk updated: move openjpa-lib tests to junit4
style
This is an automated email from the ASF dual-hosted git repository.
struberg pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/openjpa.git
The following commit(s) were added to refs/heads/trunk by this push:
new 08bb3a5 move openjpa-lib tests to junit4 style
08bb3a5 is described below
commit 08bb3a5a0e7573622aa6dc25763cb6513095093b
Author: Mark Struberg <st...@apache.org>
AuthorDate: Sun Oct 14 21:12:52 2018 +0200
move openjpa-lib tests to junit4 style
No more junit3 extends TestCase stuff ^^
---
.../org/apache/openjpa/meta/TestAccessCode.java | 1 -
.../conf/TestConfigurationProviderPrefixes.java | 29 +-
.../openjpa/lib/conf/TestConfigurations.java | 14 +-
.../org/apache/openjpa/lib/conf/TestValue.java | 9 +-
.../openjpa/lib/conf/TestXMLCaseConversions.java | 7 +-
.../lib/conf/test/TestConfigurationImpl.java | 28 +-
.../openjpa/lib/conf/test/TestPluginValue.java | 13 +-
.../openjpa/lib/graph/TestDepthFirstAnalysis.java | 14 +-
.../org/apache/openjpa/lib/graph/TestGraph.java | 12 +-
.../openjpa/lib/identifier/TestIdentifiers.java | 4 +
.../org/apache/openjpa/lib/rop/ResultListTest.java | 31 +-
.../openjpa/lib/rop/TestEagerResultList.java | 7 +-
.../openjpa/lib/rop/TestLazyForwardResultList.java | 8 +-
.../apache/openjpa/lib/rop/TestListResultList.java | 7 +-
.../lib/rop/TestMergedResultObjectProvider.java | 7 -
.../rop/TestOrderedMergedResultObjectProvider.java | 8 -
.../lib/rop/TestRandomAccessResultList.java | 7 -
.../lib/rop/TestRangeResultObjectProvider.java | 6 -
.../openjpa/lib/rop/TestSimpleResultList.java | 7 -
.../lib/rop/TestSoftRandomAccessResultList.java | 7 -
.../openjpa/lib/rop/TestWindowResultList.java | 6 -
.../apache/openjpa/lib/test/AbstractTestCase.java | 858 +--------------------
.../openjpa/lib/util/TestAbstractEventManager.java | 22 +-
.../org/apache/openjpa/lib/util/TestLocalizer.java | 52 +-
.../openjpa/lib/util/TestMultiClassLoader.java | 56 +-
.../org/apache/openjpa/lib/util/TestOptions.java | 26 +-
.../openjpa/lib/util/TestParameterTemplate.java | 22 +-
.../openjpa/lib/util/TestPropertiesParser.java | 28 +-
.../apache/openjpa/lib/util/TestReferenceSet.java | 17 +-
.../apache/openjpa/lib/util/TestSimpleRegex.java | 11 +-
.../openjpa/lib/util/TestTemporaryClassLoader.java | 6 +-
.../openjpa/lib/util/TestTypedProperties.java | 27 +-
.../apache/openjpa/lib/util/TestUUIDGenerator.java | 13 +-
.../apache/openjpa/lib/util/svn/TestSVNUtils.java | 26 +-
.../apache/openjpa/lib/xml/TestDocTypeReader.java | 25 +-
.../org/apache/openjpa/lib/xml/TestXMLWriter.java | 21 +-
36 files changed, 256 insertions(+), 1186 deletions(-)
diff --git a/openjpa-kernel/src/test/java/org/apache/openjpa/meta/TestAccessCode.java b/openjpa-kernel/src/test/java/org/apache/openjpa/meta/TestAccessCode.java
index 1cb699c..528aaca 100644
--- a/openjpa-kernel/src/test/java/org/apache/openjpa/meta/TestAccessCode.java
+++ b/openjpa-kernel/src/test/java/org/apache/openjpa/meta/TestAccessCode.java
@@ -18,7 +18,6 @@
*/
package org.apache.openjpa.meta;
-import junit.framework.TestCase;
import org.junit.Test;
import static org.junit.Assert.*;
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurationProviderPrefixes.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurationProviderPrefixes.java
index 23fc123..f83b1d8 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurationProviderPrefixes.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurationProviderPrefixes.java
@@ -24,18 +24,22 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import junit.framework.TestCase;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.fail;
-public class TestConfigurationProviderPrefixes
- extends TestCase {
+
+public class TestConfigurationProviderPrefixes {
private static final String CUSTOM_PREFIX =
TestConfigurationProviderPrefixes.class.getName();
private String[] _origPrefixes;
- @Override
+ @Before
public void setUp() {
_origPrefixes = ProductDerivations.getConfigurationPrefixes();
List l = new ArrayList(Arrays.asList(_origPrefixes));
@@ -44,45 +48,52 @@ public class TestConfigurationProviderPrefixes
(String[]) l.toArray(new String[0]));
}
- @Override
+ @After
public void tearDown() {
ProductDerivations.setConfigurationPrefixes(_origPrefixes);
}
+ @Test
public void testPrefixContents() {
String[] prefixes = ProductDerivations.getConfigurationPrefixes();
- assertEquals(CUSTOM_PREFIX, prefixes[prefixes.length - 1]);
- assertEquals("openjpa", prefixes[0]);
+ Assert.assertEquals(CUSTOM_PREFIX, prefixes[prefixes.length - 1]);
+ Assert.assertEquals("openjpa", prefixes[0]);
}
+ @Test
public void testPartialKeyAndNullMap() {
assertEquals("openjpa.Foo", "Foo", (Map) null, null);
}
+ @Test
public void testPartialKeyWithInvalidPrefix() {
Map map = new HashMap();
map.put("bar.Foo", "value");
assertEquals("openjpa.Foo", "Foo", map, null);
}
+ @Test
public void testPartialKeyWithoutMatch() {
Map map = new HashMap();
map.put("bar.Baz", "value");
assertEquals("openjpa.Foo", "Foo", map, null);
}
+ @Test
public void testPartialKeyWithOpenJPAMatch() {
Map map = new HashMap();
map.put("openjpa.Foo", "value");
assertEquals("openjpa.Foo", "Foo", map, "value");
}
+ @Test
public void testPartialKeyWithCustomMatch() {
Map map = new HashMap();
map.put(CUSTOM_PREFIX + ".Foo", "value");
assertEquals(CUSTOM_PREFIX + ".Foo", "Foo", map, "value");
}
+ @Test
public void testPartialKeyDuplicateFullKeys() {
Map map = new HashMap();
map.put(CUSTOM_PREFIX + ".Foo", "value");
@@ -97,9 +108,9 @@ public class TestConfigurationProviderPrefixes
private static void assertEquals(String fullKey, String partialKey,
Map map, Object value) {
- assertEquals(fullKey, ProductDerivations.getConfigurationKey(
+ Assert.assertEquals(fullKey, ProductDerivations.getConfigurationKey(
partialKey, map));
if (map != null)
- assertEquals(value, map.get(fullKey));
+ Assert.assertEquals(value, map.get(fullKey));
}
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurations.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurations.java
index 5a4c819..506d3c0 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurations.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestConfigurations.java
@@ -23,6 +23,10 @@ import java.util.Map;
import org.apache.openjpa.lib.test.AbstractTestCase;
import org.apache.openjpa.lib.util.Options;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
/**
* Tests the {@link Configurations} class.
@@ -31,10 +35,7 @@ import org.apache.openjpa.lib.util.Options;
*/
public class TestConfigurations extends AbstractTestCase {
- public TestConfigurations(String test) {
- super(test);
- }
-
+ @Test
public void testParsePlugin() {
String str = null;
assertNull(Configurations.getClassName(str));
@@ -59,6 +60,7 @@ public class TestConfigurations extends AbstractTestCase {
assertEquals("a='b,c d', c='d'", Configurations.getProperties(str));
}
+ @Test
public void testParseProperties() {
Options opts = Configurations.parseProperties(null);
assertEquals(0, opts.size());
@@ -86,6 +88,7 @@ public class TestConfigurations extends AbstractTestCase {
assertEquals("baz baz", opts.getProperty("biz"));
}
+ @Test
public void testCombinePlugins() {
assertPluginsCombined("jpa", null,
null, null,
@@ -142,7 +145,4 @@ public class TestConfigurations extends AbstractTestCase {
return map;
}
- public static void main(String[] args) {
- main(TestConfigurations.class);
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestValue.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestValue.java
index af4a9db..6f45888 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestValue.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestValue.java
@@ -18,9 +18,11 @@
*/
package org.apache.openjpa.lib.conf;
-import junit.framework.TestCase;
+import org.junit.Test;
-public class TestValue extends TestCase {
+import static org.junit.Assert.*;
+
+public class TestValue {
private static class SimpleValue extends Value {
@@ -50,6 +52,7 @@ public class TestValue extends TestCase {
}
+ @Test
public void testSetAliasesByValue() {
String alias = "alias";
String aName = "Johnny";
@@ -64,6 +67,7 @@ public class TestValue extends TestCase {
assertEquals("Array of aliases not set by value", aName, aStrings[1]);
}
+ @Test
public void testEquivalentValueCanBeSet() {
SimpleValue v = new SimpleValue();
v.setProperty("main");
@@ -79,6 +83,7 @@ public class TestValue extends TestCase {
assertFalse(v.matches("eqivalent3"));
}
+ @Test
public void testEquivalentValuesAreUnmodifable() {
SimpleValue v = new SimpleValue();
v.setProperty("main");
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java
index 4edeac4..24f07c7 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java
@@ -23,11 +23,14 @@ import java.io.File;
import java.io.FileReader;
import java.io.IOException;
-import junit.framework.TestCase;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
-public class TestXMLCaseConversions extends TestCase {
+public class TestXMLCaseConversions {
+
+ @Test
public void testToXMLName() {
assertEquals("easy-xml-conversion",
ConfigurationImpl.toXMLName("easyXmlConversion"));
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestConfigurationImpl.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestConfigurationImpl.java
index bd71131..ae55bfa 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestConfigurationImpl.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestConfigurationImpl.java
@@ -32,6 +32,13 @@ import org.apache.openjpa.lib.conf.StringValue;
import org.apache.openjpa.lib.conf.Value;
import org.apache.openjpa.lib.test.AbstractTestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+
/**
* Tests the {@link ConfigurationImpl} type. This needs to be placed
* in a sub-package so that it can have its own localizer.properties
@@ -49,24 +56,20 @@ public class TestConfigurationImpl extends AbstractTestCase {
private ConfigurationTest _conf = new ConfigurationTest();
- public TestConfigurationImpl(String test) {
- super(test);
- }
-
- @Override
+ @Before
public void setUp() {
System.setProperty("openjpatest.properties", "test.properties");
}
- @Override
+ @After
public void tearDown() throws Exception {
System.setProperty("openjpatest.properties", "");
- super.tearDown();
}
/**
* Test that global properties are found and loaded.
*/
+ @Test
public void testGlobals() {
System.setProperty("openjpa.sysKey", "sysvalue");
assertNull(_conf.getTestKey());
@@ -103,6 +106,7 @@ public class TestConfigurationImpl extends AbstractTestCase {
/**
* Test that the configuration is serialized to properties correctly.
*/
+ @Test
public void testToProperties() {
assertTrue(_conf.loadGlobals());
assertEquals("testvalue", _conf.getTestKey());
@@ -121,6 +125,7 @@ public class TestConfigurationImpl extends AbstractTestCase {
/**
* Tests properties caching.
*/
+ @Test
public void testPropertiesCaching() {
_conf.setTestKey("val");
_conf.setPluginKey("java.lang.Object");
@@ -142,6 +147,7 @@ public class TestConfigurationImpl extends AbstractTestCase {
/**
* Test the equals method.
*/
+ @Test
public void testEquals() {
ConfigurationTest conf = new ConfigurationTest();
conf.setTestKey(_conf.getTestKey());
@@ -165,6 +171,7 @@ public class TestConfigurationImpl extends AbstractTestCase {
/**
* Test using bean introspection.
*/
+ @Test
public void testBeanAccessors() throws Exception {
PropertyDescriptor[] pds = _conf.getPropertyDescriptors();
for (int i = 0; i < pds.length; i++) {
@@ -201,6 +208,7 @@ public class TestConfigurationImpl extends AbstractTestCase {
/**
* Test freezing.
*/
+ @Test
public void testFreezing() {
assertTrue(!_conf.isReadOnly());
_conf.setReadOnly(Configuration.INIT_STATE_FROZEN);
@@ -222,6 +230,7 @@ public class TestConfigurationImpl extends AbstractTestCase {
/**
* Test serialization.
*/
+ @Test
public void testSerialization() throws Exception {
assertTrue(_conf.loadGlobals());
_conf.setTestKey("testvalue");
@@ -248,6 +257,7 @@ public class TestConfigurationImpl extends AbstractTestCase {
assertEquals("", copy2.getPluginKeyInstance().toString());
}
+ @Test
public void testProductDerivationCloseCallback() {
// toggle the static. This will be reset by the close invocation.
ConfigurationTestProductDerivation.closed = false;
@@ -255,10 +265,6 @@ public class TestConfigurationImpl extends AbstractTestCase {
assertTrue(ConfigurationTestProductDerivation.closed);
}
- public static void main(String[] args) {
- main();
- }
-
private static class ConfigurationTest extends ConfigurationImpl {
private final StringValue _testKey;
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestPluginValue.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestPluginValue.java
index f19e6d3..5417d25 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestPluginValue.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/test/TestPluginValue.java
@@ -23,6 +23,9 @@ import org.apache.openjpa.lib.conf.PluginValue;
import org.apache.openjpa.lib.conf.StringValue;
import org.apache.openjpa.lib.conf.Value;
import org.apache.openjpa.lib.test.AbstractTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
/**
* Tests the {@link Value}, {@link PluginValue}, and
@@ -32,10 +35,7 @@ import org.apache.openjpa.lib.test.AbstractTestCase;
*/
public class TestPluginValue extends AbstractTestCase {
- public TestPluginValue(String test) {
- super(test);
- }
-
+ @Test
public void testDefault() {
defaultTest(new StringValue("testKey"));
defaultTest(new PluginValue("testKey", true));
@@ -74,6 +74,7 @@ public class TestPluginValue extends AbstractTestCase {
assertEquals(null, val.get());
}
+ @Test
public void testAlias() {
aliasTest(new StringValue("testKey"));
aliasTest(new PluginValue("testKey", true));
@@ -131,6 +132,7 @@ public class TestPluginValue extends AbstractTestCase {
assertTrue(((PluginListValue) val).getClassNames().length == 0);
}
+ @Test
public void testPluginListParsing() {
PluginListValue val = new PluginListValue("testKey");
assertEquals(0, val.getClassNames().length);
@@ -175,7 +177,4 @@ public class TestPluginValue extends AbstractTestCase {
public void setTestKey(String key) {
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestDepthFirstAnalysis.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestDepthFirstAnalysis.java
index 68fe705..eb4e9e8 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestDepthFirstAnalysis.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestDepthFirstAnalysis.java
@@ -23,6 +23,11 @@ import java.util.Iterator;
import java.util.List;
import org.apache.openjpa.lib.test.AbstractTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
/**
* <p>Tests the {@link DepthFirstAnalysis} type.</p>
@@ -34,7 +39,7 @@ public class TestDepthFirstAnalysis
private DepthFirstAnalysis _dfa = null;
- @Override
+ @Before
public void setUp() {
setUpGraph1();
}
@@ -79,6 +84,7 @@ public class TestDepthFirstAnalysis
_dfa = new DepthFirstAnalysis(graph);
}
+ @Test
public void testNodeSorting() {
Collection nodes = _dfa.getSortedNodes();
assertEquals(4, nodes.size());
@@ -92,6 +98,7 @@ public class TestDepthFirstAnalysis
}
}
+ @Test
public void testEdgeTyping() {
Collection edges = _dfa.getEdges(Edge.TYPE_BACK);
assertEquals(2, edges.size());
@@ -102,6 +109,7 @@ public class TestDepthFirstAnalysis
|| edge1.getTo().equals(edge1.getFrom()));
}
+ @Test
public void testBackEdges() {
setUpGraph2();
Collection edges = _dfa.getEdges(Edge.TYPE_BACK);
@@ -130,6 +138,7 @@ public class TestDepthFirstAnalysis
}
}
+ @Test
public void testForwardEdges() {
setUpGraph2();
Collection edges = _dfa.getEdges(Edge.TYPE_FORWARD);
@@ -153,7 +162,4 @@ public class TestDepthFirstAnalysis
}
}
- public static void main(String[] args) {
- main(TestDepthFirstAnalysis.class);
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestGraph.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestGraph.java
index 11c2e83..a1da2db 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestGraph.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/graph/TestGraph.java
@@ -22,6 +22,10 @@ import java.util.Collection;
import java.util.Iterator;
import org.apache.openjpa.lib.test.AbstractTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
/**
* <p>Tests the {@link Graph} type, and in so doing implicitly tests the
@@ -41,7 +45,7 @@ public class TestGraph
private Edge _edge3 = new Edge(_node1, _node3, false);
private Edge _edge4 = new Edge(_node2, _node2, false);
- @Override
+ @Before
public void setUp() {
_graph.addNode(_node1);
_graph.addNode(_node2);
@@ -55,6 +59,7 @@ public class TestGraph
/**
* Tests adding and retrieving nodes and edges.
*/
+ @Test
public void testAddRetrieve() {
assertEquals(3, _graph.getNodes().size());
assertEquals(4, _graph.getEdges().size());
@@ -106,6 +111,7 @@ public class TestGraph
/**
* Test removing edges.
*/
+ @Test
public void testRemoveEdges() {
assertTrue(_graph.removeEdge(_edge2));
Collection edges = _graph.getEdgesFrom(_node2);
@@ -127,6 +133,7 @@ public class TestGraph
/**
* Test removing nodes.
*/
+ @Test
public void testRemoveNodes() {
assertTrue(_graph.removeNode(_node3));
Collection edges = _graph.getEdges();
@@ -143,7 +150,4 @@ public class TestGraph
assertEquals(0, edges.size());
}
- public static void main(String[] args) {
- main(TestGraph.class);
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/identifier/TestIdentifiers.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/identifier/TestIdentifiers.java
index 2eb0caf..5fabf4e 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/identifier/TestIdentifiers.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/identifier/TestIdentifiers.java
@@ -19,9 +19,13 @@
package org.apache.openjpa.lib.identifier;
import org.apache.openjpa.lib.test.AbstractTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
public class TestIdentifiers extends AbstractTestCase {
+ @Test
public void testIdentifierConversion() {
// Create a naming configs used for testing.
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java
index 1a0e45f..3fd7fe3 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/ResultListTest.java
@@ -27,6 +27,10 @@ import java.util.ListIterator;
import java.util.NoSuchElementException;
import org.apache.openjpa.lib.test.AbstractTestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
/**
* Tests for {@link ResultList} implementations.
@@ -39,12 +43,12 @@ public abstract class ResultListTest extends AbstractTestCase {
protected boolean subListSupported = false;
- public ResultListTest(String test) {
- super(test);
+
+ public ResultListTest() {
+ this(false);
}
- public ResultListTest(String test, boolean supportSubList) {
- super(test);
+ public ResultListTest(boolean supportSubList) {
subListSupported = supportSubList;
}
@@ -63,7 +67,7 @@ public abstract class ResultListTest extends AbstractTestCase {
};
}
- @Override
+ @Before
public void setUp() {
List results = new ArrayList(100);
for (int i = 0; i < 100; i++)
@@ -74,6 +78,7 @@ public abstract class ResultListTest extends AbstractTestCase {
_lists[i] = getResultList(rops[i]);
}
+ @Test
public void testIterator() {
for (int i = 0; i < _lists.length; i++) {
Iterator itr = _lists[i].iterator();
@@ -90,6 +95,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testIteratorModification() {
for (int i = 0; i < _lists.length; i++) {
try {
@@ -102,6 +108,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testListIteratorForward() {
for (int i = 0; i < _lists.length; i++) {
ListIterator itr = _lists[i].listIterator();
@@ -120,6 +127,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testListIteratorIndex() {
for (int i = 0; i < _lists.length; i++) {
ListIterator itr = _lists[i].listIterator(50);
@@ -138,6 +146,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testListIteratorReverse() {
for (int i = 0; i < _lists.length; i++) {
ListIterator itr = _lists[i].listIterator(100);
@@ -156,6 +165,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testListIteratorModification() {
for (int i = 0; i < _lists.length; i++) {
try {
@@ -168,12 +178,14 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testMultipleIterations() {
testListIteratorIndex();
testListIteratorForward();
testListIteratorReverse();
}
+ @Test
public void testContains() {
for (int i = 0; i < _lists.length; i++) {
assertTrue(_lists[i].contains("0"));
@@ -189,6 +201,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testModification() {
for (int i = 0; i < _lists.length; i++) {
try {
@@ -209,6 +222,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testGetBegin() {
for (int i = 0; i < _lists.length; i++) {
for (int j = 0; j < 10; j++)
@@ -222,12 +236,14 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testGetMiddle() {
for (int i = 0; i < _lists.length; i++)
for (int j = 50; j < 60; j++)
assertEquals(String.valueOf(j), _lists[i].get(j));
}
+ @Test
public void testGetEnd() {
for (int i = 0; i < _lists.length; i++) {
for (int j = 90; j < 100; j++)
@@ -241,12 +257,14 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testGetReverse() {
for (int i = 0; i < _lists.length; i++)
for (int j = 99; j > -1; j--)
assertEquals(String.valueOf(j), _lists[i].get(j));
}
+ @Test
public void testMultipleGet() {
testGetMiddle();
testGetBegin();
@@ -262,12 +280,14 @@ public abstract class ResultListTest extends AbstractTestCase {
testGetEnd();
}
+ @Test
public void testSize() {
for (int i = 0; i < _lists.length; i++)
assertTrue(_lists[i].size() == 100
|| _lists[i].size() == Integer.MAX_VALUE);
}
+ @Test
public void testEmpty() {
ResultObjectProvider[] rops = getResultObjectProviders
(Collections.EMPTY_LIST);
@@ -278,6 +298,7 @@ public abstract class ResultListTest extends AbstractTestCase {
}
}
+ @Test
public void testSubList() {
ResultObjectProvider[] rops = getResultObjectProviders
(Collections.EMPTY_LIST);
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java
index dcf0e62..9e81522 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestEagerResultList.java
@@ -25,8 +25,8 @@ package org.apache.openjpa.lib.rop;
*/
public class TestEagerResultList extends ResultListTest {
- public TestEagerResultList(String test) {
- super(test, true);
+ public TestEagerResultList() {
+ super(true);
}
@Override
@@ -34,7 +34,4 @@ public class TestEagerResultList extends ResultListTest {
return new EagerResultList(provider);
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java
index fa0d822..2feeff2 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestLazyForwardResultList.java
@@ -25,16 +25,12 @@ package org.apache.openjpa.lib.rop;
*/
public class TestLazyForwardResultList extends ResultListTest {
- public TestLazyForwardResultList(String test) {
- super(test, true);
+ public TestLazyForwardResultList() {
+ super(true);
}
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
return new LazyForwardResultList(provider);
}
-
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java
index 46d13d1..d590112 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestListResultList.java
@@ -25,8 +25,8 @@ package org.apache.openjpa.lib.rop;
*/
public class TestListResultList extends ResultListTest {
- public TestListResultList(String test) {
- super(test, true);
+ public TestListResultList() {
+ super(true);
}
@Override
@@ -35,7 +35,4 @@ public class TestListResultList extends ResultListTest {
getDelegate());
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestMergedResultObjectProvider.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestMergedResultObjectProvider.java
index 8f40765..2417d62 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestMergedResultObjectProvider.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestMergedResultObjectProvider.java
@@ -28,10 +28,6 @@ import java.util.List;
*/
public class TestMergedResultObjectProvider extends ResultListTest {
- public TestMergedResultObjectProvider(String test) {
- super(test);
- }
-
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
return new WindowResultList(provider, 10);
@@ -62,7 +58,4 @@ public class TestMergedResultObjectProvider extends ResultListTest {
return merges;
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestOrderedMergedResultObjectProvider.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestOrderedMergedResultObjectProvider.java
index 9fe240e..a1b189c 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestOrderedMergedResultObjectProvider.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestOrderedMergedResultObjectProvider.java
@@ -30,10 +30,6 @@ import java.util.List;
*/
public class TestOrderedMergedResultObjectProvider extends ResultListTest {
- public TestOrderedMergedResultObjectProvider(String test) {
- super(test);
- }
-
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
return new WindowResultList(provider, 10);
@@ -64,10 +60,6 @@ public class TestOrderedMergedResultObjectProvider extends ResultListTest {
};
}
- public static void main(String[] args) {
- main();
- }
-
private static class IntValueComparator implements Comparator {
@Override
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRandomAccessResultList.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRandomAccessResultList.java
index a9902b1..177e674 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRandomAccessResultList.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRandomAccessResultList.java
@@ -25,16 +25,9 @@ package org.apache.openjpa.lib.rop;
*/
public class TestRandomAccessResultList extends ResultListTest {
- public TestRandomAccessResultList(String test) {
- super(test);
- }
-
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
return new RandomAccessResultList(provider);
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRangeResultObjectProvider.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRangeResultObjectProvider.java
index 3ebe13c..ac684b7 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRangeResultObjectProvider.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestRangeResultObjectProvider.java
@@ -28,9 +28,6 @@ import java.util.List;
*/
public class TestRangeResultObjectProvider extends ResultListTest {
- public TestRangeResultObjectProvider(String test) {
- super(test);
- }
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
@@ -66,7 +63,4 @@ public class TestRangeResultObjectProvider extends ResultListTest {
return ranges;
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSimpleResultList.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSimpleResultList.java
index be058eb..862a7a4 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSimpleResultList.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSimpleResultList.java
@@ -25,16 +25,9 @@ package org.apache.openjpa.lib.rop;
*/
public class TestSimpleResultList extends ResultListTest {
- public TestSimpleResultList(String test) {
- super(test);
- }
-
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
return new SimpleResultList(provider);
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSoftRandomAccessResultList.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSoftRandomAccessResultList.java
index f58f2ea..d6046f1 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSoftRandomAccessResultList.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestSoftRandomAccessResultList.java
@@ -25,16 +25,9 @@ package org.apache.openjpa.lib.rop;
*/
public class TestSoftRandomAccessResultList extends ResultListTest {
- public TestSoftRandomAccessResultList(String test) {
- super(test);
- }
-
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
return new SoftRandomAccessResultList(provider);
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestWindowResultList.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestWindowResultList.java
index 8e606a0..db15ebd 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestWindowResultList.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/rop/TestWindowResultList.java
@@ -25,16 +25,10 @@ package org.apache.openjpa.lib.rop;
*/
public class TestWindowResultList extends ResultListTest {
- public TestWindowResultList(String test) {
- super(test);
- }
@Override
protected ResultList getResultList(ResultObjectProvider provider) {
return new WindowResultList(provider, 10);
}
- public static void main(String[] args) {
- main();
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/test/AbstractTestCase.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/test/AbstractTestCase.java
index adb72fd..18a3ff4 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/test/AbstractTestCase.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/test/AbstractTestCase.java
@@ -18,40 +18,20 @@
*/
package org.apache.openjpa.lib.test;
-import java.beans.BeanInfo;
-import java.beans.IntrospectionException;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URL;
import java.text.NumberFormat;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
import org.apache.openjpa.lib.log.Log;
import org.apache.openjpa.lib.log.LogFactoryImpl;
@@ -59,13 +39,9 @@ import org.apache.openjpa.lib.util.Localizer;
import org.apache.regexp.RE;
import org.apache.regexp.RESyntaxException;
import org.apache.regexp.REUtil;
-import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
-import junit.framework.TestCase;
-import junit.framework.TestResult;
-import junit.textui.TestRunner;
+import org.junit.After;
+import static org.junit.Assert.*;
/**
* TestCase framework to run various tests against solarmetric code.
@@ -80,37 +56,13 @@ import junit.textui.TestRunner;
* @author Marc Prud'hommeaux
* @author Patrick Linskey
*/
-public abstract class AbstractTestCase extends TestCase {
-
- public static final String TEST_METHODS =
- System.getProperty(AbstractTestCase.class.getName() + ".testMethods");
- public static final long PLATFORM_ALL = 2 << 1;
- public static final long PLATFORM_UNKNOWN = 2 << 2;
-
- public static final String SKIP_TOKEN = "SOLARSKIP";
- public static final String SKIP_DELIMITER = "|";
+public abstract class AbstractTestCase {
private static final Localizer _loc =
Localizer.forPackage(AbstractTestCase.class);
private Log log = null;
- private static Map _times = new HashMap();
-
- private static AbstractTestCase _lastTest = null;
-
- private static WatchdogThread _watchdog = new WatchdogThread();
- private long _timeout;
-
- /**
- * Constructor. Create a test case with the specified name.
- */
- public AbstractTestCase(String test) {
- super(test);
- }
-
- public AbstractTestCase() {
- }
protected final Log getLog() {
if (log == null)
@@ -122,112 +74,17 @@ public abstract class AbstractTestCase extends TestCase {
// this implementation leaves much to be desired, as it just
// creates a new LogFactoryImpl each time, and does not apply
// any configurations.
- return new LogFactoryImpl().getLog(getLogName());
- }
-
- protected String getLogName() {
- return "com.solarmetric.Runtime";
- }
-
- /**
- * Called before the watchdog thread is about to kill the entire
- * JVM due to a test case's timeout. This method offers the
- * ability to try to resolve whatever contention is taking place
- * in the test. It will be given 10 seconds to try to end the
- * test peacefully before the watchdog exits the JVM.
- */
- protected void preTimeout() {
+ return new LogFactoryImpl().getLog(this.getClass().getName());
}
- @Override
- public void run(TestResult result) {
- if (skipTest()) {
- // keep track of the tests we skip so that we can get an
- // idea in the autobuild status
- System.err.println(SKIP_TOKEN + SKIP_DELIMITER
- + ("" + getClass().getName())
- + "." + getName() + SKIP_DELIMITER);
- return;
- }
-
- if (_lastTest != null && _lastTest.getClass() != getClass()) {
- try {
- _lastTest.tearDownTestClass();
- } catch (Throwable t) {
- getLog().error(null, t);
- }
- }
- if (_lastTest == null || _lastTest.getClass() != getClass()) {
- try {
- setUpTestClass();
- } catch (Throwable t) {
- getLog().error(null, t);
- }
- }
-
- _lastTest = this;
- // inform the watchdog thread that we are entering the test
- _watchdog.enteringTest(this);
- try {
- super.run(result);
- } finally {
- _watchdog.leavingTest(this);
- }
- }
- /**
- * If this test should be skipped given the current
- * environment, return <code>true</code>. This allows a unit test
- * class to disable test cases on a per-method granularity, and
- * prevents the test from showing up as a passed test just
- * because it was skipped.
- * For example, if a particular test case method should not be
- * run against a certain database, this method could check the
- * name of the test result and the current database configuration
- * in order to make the decision:
- * <p/>
- * <code> protected boolean skipTest() {
- * // don't run with pointbase: it uses a DataSource, which
- * // can't be translated into a JBoss DataSource configuration.
- * if ("testJBoss".equals(getName()) &&
- * getCurrentPlatform() == PLATFORM_POINTBASE)
- * return true;
- * }
- * </code>
- * If you want to disable execution of an entire test case
- * class for a given database, you might want to add the class to
- * the excluded test list in that database's properties file.
- */
- protected boolean skipTest() {
- if (TEST_METHODS != null && TEST_METHODS.length() > 0)
- return TEST_METHODS.indexOf(getName()) == -1;
-
- return false;
- }
-
- /**
- * This method is called before the first test in this test class
- * is executed.
- */
- public void setUpTestClass() throws Exception {
- }
-
- /**
- * This method is called after the last test in this test class
- * is executed. It can be used to do things like clean up
- * large, slow processes that may have been started.
- */
- public void tearDownTestClass() throws Exception {
- }
-
- @Override
+ @After
public void tearDown() throws Exception {
if ("true".equals(System.getProperty("meminfo")))
printMemoryInfo();
- super.tearDown();
}
//////////////////////////
@@ -262,54 +119,6 @@ public abstract class AbstractTestCase extends TestCase {
return new Long((long) (Math.random() * Long.MAX_VALUE));
}
- /**
- * Support method to get a random Short for testing.
- */
- public static Short randomShort() {
- return new Short((short) (Math.random() * Short.MAX_VALUE));
- }
-
- /**
- * Support method to get a random Double for testing.
- */
- public static Double randomDouble() {
- return new Double((double) (Math.round(Math.random() * 5000d)) / 1000d);
- }
-
- /**
- * Support method to get a random Float for testing.
- */
- public static Float randomFloat() {
- return new Float((float) (Math.round(Math.random() * 5000f)) / 1000f);
- }
-
- /**
- * Support method to get a random Byte for testing.
- */
- public static Byte randomByte() {
- return new Byte((byte) (Math.random() * Byte.MAX_VALUE));
- }
-
- /**
- * Support method to get a random Boolean for testing.
- */
- public static Boolean randomBoolean() {
- return new Boolean(Math.random() > 0.5 ? true : false);
- }
-
- /**
- * Support method to get a random Date for testing.
- */
- public static Date randomDate() {
- long millis = (long) (Math.random() * System.currentTimeMillis());
-
- // round millis to the nearest 1000: this is because some
- // databases do not store the milliseconds correctly(e.g., MySQL).
- // This is a really a bug we should fix. FC #27.
- millis -= (millis % 1000);
-
- return new Date(millis);
- }
/**
* Support method to get a random String for testing.
@@ -330,408 +139,11 @@ public abstract class AbstractTestCase extends TestCase {
return buf.toString();
}
- /**
- * Support method to get a random clob for testing.
- */
- public static String randomClob() {
- StringBuffer sbuf = new StringBuffer();
- while (sbuf.length() < (5 * 1024)) { // at least 5K
- sbuf.append(randomString(1024));
- }
-
- return sbuf.toString();
- }
-
- /**
- * Support method to get a random BigInteger for testing.
- */
- public static BigInteger randomBigInteger() {
- // too many of our test databases don't support bigints > MAX_LONG:
- // I don't like it, but for now, let's only test below MAX_LONG
- BigInteger lng = new BigInteger(
- ((long) (Math.random() * Long.MAX_VALUE)) + "");
-
- BigInteger multiplier = new BigInteger("1");
- // (1 + (int)(Math.random() * 10000)) + "");
- if (Math.random() < 0.5)
- multiplier = multiplier.multiply(new BigInteger("-1"));
-
- return lng.multiply(multiplier);
- }
-
- /**
- * Support method to get a random BigDecimal for testing.
- */
- public static BigDecimal randomBigDecimal() {
- BigInteger start = randomBigInteger();
- String str = start.toString();
- // truncate off the last 8 digits: we still get some
- // overflows with lame databases.
- for (int i = 0; i < 8; i++)
- if (str.length() > 2)
- str = str.substring(0, str.length() - 1);
- start = new BigInteger(str);
-
- String val = start + "." + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10))
- + ((int) (Math.random() * 10));
-
- return new BigDecimal(val);
- }
-
- /**
- * Support method to get a random blob for testing.
- */
- public static byte[] randomBlob() {
- // up to 100K blob
- byte [] blob = new byte [(int) (Math.random() * 1024 * 100)];
- for (int i = 0; i < blob.length; i++)
- blob[i] = randomByte().byteValue();
-
- return blob;
- }
-
- /**
- * Invoke setters for pimitives and primitive wrappers on the
- * specified object.
- */
- public static Object randomizeBean(Object bean)
- throws IntrospectionException, IllegalAccessException,
- InvocationTargetException {
- BeanInfo info = Introspector.getBeanInfo(bean.getClass());
- PropertyDescriptor [] props = info.getPropertyDescriptors();
- for (int i = 0; i < props.length; i++) {
- Method write = props[i].getWriteMethod();
- if (write == null)
- continue;
-
- Class [] params = write.getParameterTypes();
- if (params == null || params.length != 1)
- continue;
-
- Class paramType = params[0];
- Object arg = null;
-
- if (paramType == boolean.class || paramType == Boolean.class)
- arg = randomBoolean();
- else if (paramType == byte.class || paramType == Byte.class)
- arg = randomByte();
- else if (paramType == char.class || paramType == Character.class)
- arg = randomChar();
- else if (paramType == short.class || paramType == Short.class)
- arg = randomShort();
- else if (paramType == int.class || paramType == Integer.class)
- arg = randomInt();
- else if (paramType == long.class || paramType == Long.class)
- arg = randomLong();
- else if (paramType == double.class || paramType == Double.class)
- arg = randomDouble();
- else if (paramType == float.class || paramType == Float.class)
- arg = randomFloat();
- else if (paramType == String.class)
- arg = randomString();
- else if (paramType == BigInteger.class)
- arg = randomBigInteger();
- else if (paramType == BigDecimal.class)
- arg = randomBigDecimal();
- else if (paramType == Date.class)
- arg = randomDate();
-
- if (arg != null)
- write.invoke(bean, new Object []{ arg });
- }
-
- return bean;
- }
-
- /**
- * Utility method to start a profile.
- *
- * @see #endProfile(String)
- */
- public void startProfile(String name) {
- _times.put(name, new Long(System.currentTimeMillis()));
- }
-
- /**
- * Utility to end the profile and print out the time. Example usage:
- * <p/>
- * <pre><code> startProfile("Some long task"); doSomeLongTask();
- * endProfile("Some long task");
- * </code></pre>
- *
- * @param name
- * @return the amount of time that this profile invocation took, or
- * -1 if <code>name</code> was never started.
- */
- public long endProfile(String name) {
- Long time = (Long) _times.remove(name);
-
- long elapsed = -1;
- if (time != null)
- elapsed = System.currentTimeMillis() - time.longValue();
-
- getLog().info(_loc.get("profile-info", name,
- (time == null ? "???" : "" + elapsed)));
- return elapsed;
- }
-
- /////////////////////////
- // ClassLoader functions
- /////////////////////////
-
- /**
- * Create a ClassLoader that will not use the parent
- * ClassLoader to resolve classes. This is useful for
- * testing interactions between Kodo in running
- * in ClassLoaderA and instances in ClassLoaderB.
- */
- public ClassLoader createIsolatedClassLoader() {
- return new IsolatedClassLoader();
- }
-
- public NestedClassLoader createNestedClassLoader() {
- return new NestedClassLoader(false);
- }
-
- public NestedClassLoader createNestedParentClassLoader() {
- return new NestedClassLoader(true);
- }
-
- /**
- * Reload the specified class in an isolated ClassLoader.
- *
- * @param target the target class to load
- * @return the Class as reloaded in an new ClassLoader
- */
- public Class isolate(Class target) throws ClassNotFoundException {
- Class result = isolate(target.getName());
- assertTrue(result != target);
- assertNotEquals(result, target);
- assertTrue(result.getClassLoader() != target.getClassLoader());
- return result;
- }
-
- public Class isolate(String target) throws ClassNotFoundException {
- ClassLoader il = createIsolatedClassLoader();
- Class result = il.loadClass(target);
- assertEquals(result.getName(), target);
-
- return result;
- }
-
- public Class nest(Class target) throws ClassNotFoundException {
- ClassLoader il = createNestedClassLoader();
- Class result = il.loadClass(target.getName());
- assertTrue(result != target);
- assertNotEquals(result, target);
- assertTrue(result.getClassLoader() != target.getClassLoader());
- assertEquals(result.getName(), target.getName());
-
- return result;
- }
-
- public Object isolateNew(Class target)
- throws ClassNotFoundException, IllegalAccessException,
- InstantiationException {
- return isolate(target).newInstance();
- }
-
- private static class NestedClassLoader extends AntClassLoader {
-
- public NestedClassLoader(boolean useParent) {
- super(ClassLoader.getSystemClassLoader(), useParent);
-
- for (StringTokenizer cltok = new StringTokenizer(
- System.getProperty("java.class.path"), File.pathSeparator);
- cltok.hasMoreTokens();) {
- String path = cltok.nextToken();
-
- // only load test paths, not jar files
- if (path.indexOf(".jar") != -1)
- continue;
- if (path.indexOf(".zip") != -1)
- continue;
-
- addPathElement(path);
- }
-
- try {
- if (!useParent) {
- assertTrue(loadClass
- (AbstractTestCase.class.getName()).getClassLoader()
- != AbstractTestCase.class.getClassLoader());
- }
- } catch (ClassNotFoundException cnfe) {
- fail(cnfe.toString());
- }
- }
-
- @Override
- public Class findClass(String name) throws ClassNotFoundException {
- // don't isolate PC and related classes in kodo.enhnace
- if (name.indexOf(".enhance.") != -1)
- throw new ClassNotFoundException(name);
- if (name.indexOf("/enhance/") != -1)
- throw new ClassNotFoundException(name);
- return super.findClass(name);
- }
- }
-
- /**
- * A ClassLoader that is completely isolated with respect to
- * any classes that are loaded in the System ClassLoader.
- *
- * @author Marc Prud'hommeaux
- */
- private static class IsolatedClassLoader extends NestedClassLoader {
-
- public IsolatedClassLoader() {
- super(false);
- setIsolated(false);
- }
- }
///////////////
// Collections
///////////////
- /**
- * Validate that the specified {@link Collection} fulfills the
- * Collection contract as specified by the Collections API.
- * <p/>
- * <strong>Note</strong>: does not validate mutable operations
- */
- public static void validateCollection(Collection collection) {
- int size = collection.size();
- int iterated = 0;
- // ensure we can walk along the iterator
- for (Iterator i = collection.iterator(); i.hasNext();) {
- iterated++;
- i.next();
- }
-
- // ensure the number of values iterated is the same as the list size
- assertEquals(size, iterated);
-
- // also validate the list
- if (collection instanceof List) {
- List ll = new ArrayList();
- for (int i = 0; i < 100; i++)
- ll.add(new Integer(i));
- validateList((List) ll);
- validateList((List) collection);
- }
- }
-
- /**
- * Validate that the specified {@link List} fulfills the
- * List contract as specified by the Collections API.
- * <p/>
- * <strong>Note</strong>: does not validate mutable operations
- */
- public static void validateList(List list) {
- Object [] coreValues = list.toArray();
- Object [] values1 = new Object [list.size()];
- Object [] values2 = new Object [list.size()];
- Object [] values3 = new Object [list.size()];
- Object [] values4 = new Object [list.size()];
-
- // fill sequential index access list
- for (int i = 0; i < list.size(); i++)
- values1[i] = list.get(i);
-
- // fill sequential list
- int index = 0;
- ListIterator iter;
- for (iter = list.listIterator(0); iter.hasNext();) {
- assertEquals(index, iter.nextIndex());
- assertEquals(index, iter.previousIndex() + 1);
- values2[index] = iter.next();
- assertTrue(list.contains(values2[index]));
- index++;
- }
-
- // ensure NoSuchElementException is thrown as appropriate
- try {
- iter.next();
- fail("next() should have resulted in a NoSuchElementException");
- } catch (NoSuchElementException e) {
- } // as expected
-
- // fill reverse sequential list
- int back = 0;
- for (iter = list.listIterator(list.size()); iter.hasPrevious();) {
- assertEquals(index, iter.previousIndex() + 1);
- assertEquals(index, iter.nextIndex());
- values3[--index] = iter.previous();
- back++;
- }
- assertEquals(list.size(), back);
-
- // ensure NoSuchElementException is thrown as appropriate
- try {
- iter.previous();
- fail("previous() should have resulted in a "
- + "NoSuchElementException");
- } catch (NoSuchElementException e) {
- } // as expected
-
- // fill random access list
- List indices = new LinkedList();
- for (int i = 0; i < list.size(); i++)
- indices.add(new Integer(i));
-
- for (int i = 0; i < list.size(); i++) {
- int rand = (int) (Math.random() * indices.size());
- Integer randIndex = (Integer) indices.remove(rand);
- values4[randIndex.intValue()] = list.get(randIndex.intValue());
- }
-
- assertEquals(Arrays.asList(coreValues), Arrays.asList(values1));
- assertIdentical(Arrays.asList(coreValues), Arrays.asList(values1));
- assertEquals(Arrays.asList(coreValues), Arrays.asList(values2));
- assertIdentical(Arrays.asList(coreValues), Arrays.asList(values2));
- assertEquals(Arrays.asList(coreValues), Arrays.asList(values4));
- assertIdentical(Arrays.asList(coreValues), Arrays.asList(values4));
- assertEquals(Arrays.asList(coreValues), Arrays.asList(values3));
- assertIdentical(Arrays.asList(coreValues), Arrays.asList(values3));
- }
-
- /**
- * Assert that the given List contain the exact same
- * elements. This is different than the normal List contract, which
- * states that list1.equals(list2) if each element e1.equals(e2).
- * This method asserts that e1 == n2.
- */
- public static void assertIdentical(List c1, List c2) {
- assertEquals(c1.size(), c2.size());
- for (Iterator i1 = c1.iterator(), i2 = c2.iterator();
- i1.hasNext() && i2.hasNext();)
- assertTrue(i1.next() == i2.next());
- }
-
- /**
- * Assert that the collection parameter is already ordered
- * according to the specified comparator.
- */
- public void assertOrdered(Collection c, Comparator comp) {
- List l1 = new LinkedList(c);
- List l2 = new LinkedList(c);
- assertEquals(l1, l2);
- Collections.sort(l2, comp);
- assertEquals(l1, l2);
- Collections.sort(l1, comp);
- assertEquals(l1, l2);
- }
-
////////////////////
// Assertion Helpers
////////////////////
@@ -805,39 +217,6 @@ public abstract class AbstractTestCase extends TestCase {
}
/**
- * Return a list of all values iterated by the given iterator.
- */
- public static List iteratorToList(Iterator i) {
- LinkedList list = new LinkedList();
- while (i.hasNext())
- list.add(i.next());
- return list;
- }
-
- /**
- * Return an array of the objects iterated by the given iterator.
- */
- public static Object [] iteratorToArray(Iterator i, Class [] clazz) {
- return iteratorToList(i).toArray(clazz);
- }
-
- /**
- * Run ant on the specified build file.
- *
- * @param buildFile the build file to use
- * @param target the name of the target to invoke
- */
- public void ant(File buildFile, String target) {
- assertTrue(buildFile.isFile());
-
- Project project = new Project();
- project.init();
- project.setUserProperty("ant.file", buildFile.getAbsolutePath());
- ProjectHelper.configureProject(project, buildFile);
- project.executeTarget(target);
- }
-
- /**
* Serialize and deserialize the object.
*
* @param validateEquality make sure the hashCode and equals
@@ -872,25 +251,6 @@ public abstract class AbstractTestCase extends TestCase {
return re.match(input);
}
- public static void assertMatches(String regex, String input) {
- try {
- if (!(matches(regex, input)))
- fail("Expected regular expression: <" + regex + ">"
- + " did not match: <" + input + ">");
- } catch (RESyntaxException e) {
- throw new IllegalArgumentException(e.toString());
- }
- }
-
- public static void assertNotMatches(String regex, String input) {
- try {
- if (matches(regex, input))
- fail("Regular expression: <" + regex + ">"
- + " should not match: <" + input + ">");
- } catch (RESyntaxException e) {
- throw new IllegalArgumentException(e.toString());
- }
- }
/**
* Check the list if strings and return the ones that match
@@ -908,212 +268,4 @@ public abstract class AbstractTestCase extends TestCase {
return matches;
}
- /**
- * Assert that the specified collection of Strings contains at least
- * one string that matches the specified regular expression.
- */
- public static void assertMatches(String regex, Collection input) {
- try {
- if (matches(regex, input).size() == 0)
- fail("The specified list of size " + input.size()
- + " did not contain any strings that match the"
- + " specified regular expression(\"" + regex + "\")");
- } catch (RESyntaxException e) {
- throw new IllegalArgumentException(e.toString());
- }
- }
-
- /**
- * Assert that the specified collection of Strings does not match
- * the specified regular expression.
- */
- public static void assertNotMatches(String regex, Collection input) {
- try {
- List matches;
-
- if (((matches = matches(regex, input))).size() > 0)
- fail("The specified list of size " + input.size()
- + " did contain one or more strings that matchs the"
- + " specified illegal regular expression"
- + " (\"" + regex + "\")."
- + " First example of a matching message is: "
- + matches.iterator().next());
- } catch (RESyntaxException e) {
- throw new IllegalArgumentException(e.toString());
- }
- }
-
- /**
- * To be called by the child. E.g.:
- * <code> public static void main(String [] args) { main(TestBug375.class);
- * }
- * </code>
- */
- public static void main(Class c) {
- TestRunner.run(c);
- }
-
- /**
- * To be called by child. Figures out the class from the calling context.
- */
- public static void main() {
- String caller = new SecurityManager() {
- @Override
- public String toString() {
- return getClassContext()[2].getName();
- }
- }.toString();
-
- try {
- main(Class.forName(caller));
- } catch (ClassNotFoundException cnfe) {
- throw new RuntimeException(cnfe.toString());
- }
- }
-
- /**
- * Returns the jar file in which the class is contained.
- *
- * @return the jar file, or none if the class is not in a jar
- * @throws FileNotFoundException if the jar file cannot located
- */
- public static File getJarFile(Class clazz) throws FileNotFoundException {
- URL url = clazz.getResource(clazz.getName().substring(
- clazz.getName().lastIndexOf(".") + 1) + ".class");
- if (url == null)
- throw new FileNotFoundException(clazz.toString());
-
- String file = url.getFile();
- if (file == null)
- throw new FileNotFoundException(url.toString());
- int index = file.indexOf("!");
- if (index == -1)
- throw new FileNotFoundException(file);
-
- file = file.substring(0, index);
- file = file.substring("file:".length());
-
- File f = new File(file);
- if (!(f.isFile()))
- throw new FileNotFoundException(file);
-
- return f.getAbsoluteFile();
- }
-
- /**
- * The number of milliseconds each test case will have for a timeout.
- */
- public void setTimeout(long timeout) {
- _timeout = timeout;
- }
-
- /**
- * The number of milliseconds each test case will have for a timeout.
- */
- public long getTimeout() {
- return _timeout;
- }
-
- /**
- * A watchdog that just exits the JVM if a test has not completed in
- * a certain amount of time. This speeds up the mechanism of determining
- * if a timeout has occurred, since we can exit the entire test run
- * if a test hasn't completed in a shorted amount of time than
- * the global test timeout.
- *
- * @author Marc Prud'hommeaux
- */
- private static class WatchdogThread extends Thread {
-
- private final long _timeoutms;
- private long _endtime = -1;
- private AbstractTestCase _curtest = null;
-
- public WatchdogThread() {
- super("Kodo test case watchdog thread");
- setDaemon(true);
-
- int timeoutMin = new Integer
- (System.getProperty("autobuild.testcase.timeout", "20"))
- .intValue();
-
- _timeoutms = timeoutMin * 60 * 1000;
- }
-
- @Override
- public void run() {
- while (true) {
- try {
- sleep(200);
- } catch (InterruptedException ie) {
- }
-
- if (_endtime > 0 && System.currentTimeMillis() > _endtime) {
- Thread preTimeout = new Thread
- ("Attempting pre-timeout for " + _curtest) {
- @Override
- public void run() {
- _curtest.preTimeout();
- }
- };
- preTimeout.start();
-
- // wait a little while for the pre-timeout
- // thread to complete
- try {
- preTimeout.join(10 * 1000);
- } catch (Exception e) {
- }
-
- // give it a few more seconds...
- try {
- sleep(5 * 1000);
- } catch (Exception e) {
- }
-
- // new endtime? resume...
- if (System.currentTimeMillis() < _endtime)
- continue;
-
- new Exception("test case "
- + (_curtest != null ? _curtest.getName()
- : "UNKNOWN") + " timed out after "
- + _timeoutms + "ms").printStackTrace();
-
- // also run "killall -QUIT java" to try to grab
- // a stack trace
- try {
- Runtime.getRuntime().exec
- (new String[]{ "killall", "-QUIT", "java" });
- } catch (Exception e) {
- }
-
- try {
- sleep(1000);
- } catch (InterruptedException ie) {
- }
-
- // now actually exit
- System.exit(111);
- }
- }
- }
-
- public synchronized void enteringTest(AbstractTestCase test) {
- long timeout = test.getTimeout();
- if (timeout <= 0)
- timeout = _timeoutms;
-
- _endtime = System.currentTimeMillis() + timeout;
- _curtest = test;
-
- if (!isAlive())
- start();
- }
-
- public synchronized void leavingTest(AbstractTestCase test) {
- _endtime = -1;
- _curtest = null;
- }
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestAbstractEventManager.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestAbstractEventManager.java
index 2e018be..f7be22a 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestAbstractEventManager.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestAbstractEventManager.java
@@ -20,24 +20,19 @@ package org.apache.openjpa.lib.util;
import org.apache.openjpa.lib.util.concurrent.AbstractConcurrentEventManager;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
+import org.junit.Test;
+import static org.junit.Assert.*;
/**
* Tests the {@link AbstractConcurrentEventManager}.
*
* @author Abe White
*/
-public class TestAbstractEventManager extends TestCase {
+public class TestAbstractEventManager {
private EventManager _em = new EventManager();
- public TestAbstractEventManager(String test) {
- super(test);
- }
-
+ @Test
public void testReentrantAdd() {
Listener l1 = new Listener(Listener.ADD);
Listener l2 = new Listener(Listener.NONE);
@@ -49,6 +44,7 @@ public class TestAbstractEventManager extends TestCase {
assertEquals(3, _em.getListeners().size());
}
+ @Test
public void testReentrantRemove() {
Listener l1 = new Listener(Listener.REMOVE);
Listener l2 = new Listener(Listener.NONE);
@@ -61,14 +57,6 @@ public class TestAbstractEventManager extends TestCase {
assertFalse(_em.getListeners().contains(l1));
}
- public static Test suite() {
- return new TestSuite(TestAbstractEventManager.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
-
private static class EventManager extends AbstractConcurrentEventManager {
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestLocalizer.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestLocalizer.java
index 4aca0e9..f708dec 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestLocalizer.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestLocalizer.java
@@ -24,25 +24,21 @@ import java.util.MissingResourceException;
import org.apache.openjpa.lib.util.Localizer.Message;
import org.apache.openjpa.lib.util.testlocalizer.LocalizerTestHelper;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
+import org.junit.Test;
+import org.junit.Before;
+
+import static org.junit.Assert.*;
/**
* Tests the Localizer.
*
* @author Abe White
*/
-public class TestLocalizer extends TestCase {
+public class TestLocalizer {
private Localizer _locals = null;
- public TestLocalizer(String test) {
- super(test);
- }
-
- @Override
+ @Before
public void setUp() {
_locals = Localizer.forPackage(LocalizerTestHelper.class);
}
@@ -50,27 +46,30 @@ public class TestLocalizer extends TestCase {
/**
* Test getting a string for a class.
*/
+ @Test
public void testForClass() {
- assertEquals(Locale.getDefault().equals(Locale.GERMANY)
+ assertEqualsMSg(Locale.getDefault().equals(Locale.GERMANY)
? "value1_de" : "value1", _locals.get("test.local1"));
}
/**
* Test getting a string for a non-default locale.
*/
+ @Test
public void testForLocale() {
Localizer locl = Localizer.forPackage(LocalizerTestHelper.class,
Locale.GERMANY);
- assertEquals("value1_de", locl.get("test.local1"));
+ assertEqualsMSg("value1_de", locl.get("test.local1"));
}
/**
* Tests that if a locale is missing the system falls back to the default.
*/
+ @Test
public void testFallbackLocale() {
Localizer locl = Localizer.forPackage(LocalizerTestHelper.class,
Locale.FRANCE);
- assertEquals(Locale.getDefault().equals(Locale.GERMANY)
+ assertEqualsMSg(Locale.getDefault().equals(Locale.GERMANY)
? "value1_de" : "value1", locl.get("test.local1"));
}
@@ -78,22 +77,24 @@ public class TestLocalizer extends TestCase {
* Tests that a null class accesses the localizer.properties file
* for the top-level(no package).
*/
+ @Test
public void testTopLevel() {
Localizer system = Localizer.forPackage(null);
- assertEquals("systemvalue1", system.get("test.systemlocal"));
+ assertEqualsMSg("systemvalue1", system.get("test.systemlocal"));
}
/**
* Test that the message formatting works correctly.
*/
+ @Test
public void testMessageFormat() {
String suffix = Locale.getDefault().equals(Locale.GERMANY) ? "_de" : "";
- assertEquals("value2" + suffix + " x sep y", _locals.get("test.local2",
+ assertEqualsMSg("value2" + suffix + " x sep y", _locals.get("test.local2",
new String[]{ "x", "y" }));
// test that it treates single objects as single-element arrays
- assertEquals("value2" + suffix + " x sep {1}",
+ assertEqualsMSg("value2" + suffix + " x sep {1}",
_locals.get("test.local2", "x"));
}
@@ -101,10 +102,11 @@ public class TestLocalizer extends TestCase {
* Test that a {@link MissingResourceException} is thrown for missing
* resource bundles.
*/
+ @Test
public void testMissingBundle() {
Localizer missing = Localizer.forPackage(String.class);
- assertEquals("localized message key: foo.bar", missing.get("foo.bar"));
- assertEquals("localized message key: foo.bar; substitutions: [baz, 1]", missing.get("foo.bar", "baz", 1));
+ assertEqualsMSg("localized message key: foo.bar", missing.get("foo.bar"));
+ assertEqualsMSg("localized message key: foo.bar; substitutions: [baz, 1]", missing.get("foo.bar", "baz", 1));
try {
missing.getFatal("foo.bar");
fail("No exception for fatal get on missing bundle.");
@@ -115,9 +117,10 @@ public class TestLocalizer extends TestCase {
/**
* Test that a {@link MissingResourceException} is thrown for missing keys.
*/
+ @Test
public void testMissingKey() {
- assertEquals("localized message key: foo.bar", _locals.get("foo.bar"));
- assertEquals("localized message key: foo.bar; substitutions: [baz, 1]", _locals.get("foo.bar", "baz", 1));
+ assertEqualsMSg("localized message key: foo.bar", _locals.get("foo.bar"));
+ assertEqualsMSg("localized message key: foo.bar; substitutions: [baz, 1]", _locals.get("foo.bar", "baz", 1));
try {
_locals.getFatal("foo.bar");
fail("No exception for fatal get on missing key.");
@@ -125,15 +128,8 @@ public class TestLocalizer extends TestCase {
}
}
- public static void assertEquals(String s, Message m) {
+ public static void assertEqualsMSg(String s, Message m) {
assertEquals(s, m.getMessage());
}
- public static Test suite() {
- return new TestSuite(TestLocalizer.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestMultiClassLoader.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestMultiClassLoader.java
index d69b84e..9aea9e0 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestMultiClassLoader.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestMultiClassLoader.java
@@ -20,27 +20,23 @@ package org.apache.openjpa.lib.util;
import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
+import org.junit.Test;
+import org.junit.Before;
+
+import static org.junit.Assert.*;
/**
* Tests the {@link MultiClassLoader}.
*
* @author Abe White
*/
-public class TestMultiClassLoader extends TestCase {
+public class TestMultiClassLoader {
private ClassLoader SYSTEM_LOADER = MultiClassLoader.class.getClassLoader();
private MultiClassLoader _loader = new MultiClassLoader();
- public TestMultiClassLoader(String test) {
- super(test);
- }
-
- @Override
+ @Before
public void setUp() {
_loader.addClassLoader(MultiClassLoader.THREAD_LOADER);
_loader.addClassLoader(SYSTEM_LOADER);
@@ -49,6 +45,7 @@ public class TestMultiClassLoader extends TestCase {
/**
* Tests basic add/remove functionality.
*/
+ @Test
public void testBasic() {
assertEquals(2, _loader.size());
assertTrue(!_loader.isEmpty());
@@ -91,54 +88,17 @@ public class TestMultiClassLoader extends TestCase {
assertEquals(foo2, loaders[2]);
}
- /**
- * Test finding classes.
- */
-/*
- public void testClassForName()
- throws Exception
- {
- assertEquals(MultiClassLoader.class,
- Class.forName(MultiClassLoader.class.getName(), true, _loader));
- assertTrue(_loader.removeClassLoader(SYSTEM_LOADER));
- assertTrue(_loader.removeClassLoader(MultiClassLoader.THREAD_LOADER));
- try
- {
- // have to switch classes here b/c other is now cached
- assertEquals(TestMultiClassLoader.class, Class.forName
- (TestMultiClassLoader.class.getName(), true, _loader));
- fail("System class laoder still working.");
- } catch (ClassNotFoundException cnfe)
- {
- }
- try
- {
- Class.forName("foo", true, _loader);
- fail("Somehow found 'foo'???");
- } catch (ClassNotFoundException cnfe)
- {
- }
- _loader.addClassLoader(new FooLoader());
- assertEquals(Integer.class, Class.forName("foo", true, _loader));
- }
-*/
/**
* Test finding resources.
*/
+ @Test
public void testGetResource() {
assertNull(_loader.getResource("foo"));
_loader.addClassLoader(new FooLoader());
assertNotNull(_loader.getResource("foo"));
}
- public static Test suite() {
- return new TestSuite(TestMultiClassLoader.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
private static final class FooLoader extends ClassLoader {
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestOptions.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestOptions.java
index 48efa77..c1ae1a7 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestOptions.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestOptions.java
@@ -20,17 +20,17 @@ package org.apache.openjpa.lib.util;
import java.util.Properties;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
/**
* Tests the {@link Options} type.
*
* @author Abe White
*/
-public class TestOptions extends TestCase {
+public class TestOptions {
private Options _opts = null;
@@ -39,11 +39,7 @@ public class TestOptions extends TestCase {
"-range2", "10", "-fieldVal", "20", "-FieldVal2", "30",
"-inner.nullInner.range1", "10,100", "arg1", "arg2", "arg3" };
- public TestOptions(String test) {
- super(test);
- }
-
- @Override
+ @Before
public void setUp() {
Properties defs = new Properties();
defs.setProperty("default", "value");
@@ -54,6 +50,7 @@ public class TestOptions extends TestCase {
/**
* Test command-line parsing.
*/
+ @Test
public void testCmdLineParsing() {
assertEquals(3, _args.length);
assertEquals("arg1", _args[0]);
@@ -78,6 +75,7 @@ public class TestOptions extends TestCase {
/**
* Tests the setting of option values into bean objects.
*/
+ @Test
public void testSetObject() {
Inner inner = new Inner();
_opts.setInto(inner);
@@ -110,14 +108,6 @@ public class TestOptions extends TestCase {
assertEquals("STR", inner.getString());
}
- public static Test suite() {
- return new TestSuite(TestOptions.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
-
/**
* Used internally for testing; must be public so Options can construct it.
*/
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestParameterTemplate.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestParameterTemplate.java
index b4f5304..111f279 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestParameterTemplate.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestParameterTemplate.java
@@ -18,24 +18,21 @@
*/
package org.apache.openjpa.lib.util;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
/**
* Tests the {@link ParameterTemplate} utility class.
*
* @author Abe White
*/
-public class TestParameterTemplate extends TestCase {
+public class TestParameterTemplate {
private ParameterTemplate templ = new ParameterTemplate();
- public TestParameterTemplate(String test) {
- super(test);
- }
-
+ @Test
public void testParameters() {
templ.append("{foo$${foo}bar{${bar}}biz baz$");
templ.append("{booz}booz${java.io.tmpdir}{ack}");
@@ -55,12 +52,5 @@ public class TestParameterTemplate extends TestCase {
templ.toString());
}
- public static Test suite() {
- return new TestSuite(TestParameterTemplate.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestPropertiesParser.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestPropertiesParser.java
index dfdf341..372d1b2 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestPropertiesParser.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestPropertiesParser.java
@@ -36,7 +36,9 @@ import java.util.Properties;
import org.apache.openjpa.lib.util.FormatPreservingProperties.
DuplicateKeyException;
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
// things to test:
// - delimiters in keys
@@ -45,10 +47,11 @@ import junit.framework.TestCase;
// - non-String keys / vals
// - list() method behavior
-public class TestPropertiesParser extends TestCase {
+public class TestPropertiesParser {
private static final String LS = System.getProperty( "line.separator" );
+ @Test
public void testSimpleProperties() throws IOException {
StringBuffer buf = new StringBuffer();
buf.append("key: value" + LS);
@@ -58,6 +61,7 @@ public class TestPropertiesParser extends TestCase {
{ "key", "value" }, { "key2", "value2" } }, p);
}
+ @Test
public void testComments() throws IOException {
StringBuffer buf = new StringBuffer();
buf.append("# this is a comment" + LS);
@@ -70,6 +74,7 @@ public class TestPropertiesParser extends TestCase {
assertEquals(0, p.size());
}
+ @Test
public void testMixedContent() throws IOException {
StringBuffer buf = new StringBuffer();
buf.append("# this is a comment" + LS);
@@ -81,6 +86,7 @@ public class TestPropertiesParser extends TestCase {
assertProperties(new String[][]{ { "foo", "bar#baz" } }, p);
}
+ @Test
public void testMultiLineInput() throws IOException {
String s = "foo: bar\\" + LS + "more line goes here";
Properties p = toProperties(s);
@@ -88,12 +94,14 @@ public class TestPropertiesParser extends TestCase {
new String[][]{ { "foo", "barmore line goes here" } }, p);
}
+ @Test
public void testEmptyLines() throws IOException {
Properties p = toProperties(LS + "foo: bar" + LS + LS + "baz: val");
assertProperties(new String[][]{ { "foo", "bar" }, { "baz", "val" } },
p);
}
+ @Test
public void testAddProperties() throws IOException {
// intentionally left out the trailing end line
String s = "foo: bar" + LS + "baz: val";
@@ -108,6 +116,7 @@ public class TestPropertiesParser extends TestCase {
"another-new-key: val3" + LS, p);
}
+ @Test
public void testAddAndMutateProperties() throws IOException {
// intentionally left out the trailing end line
Properties p = toProperties("foo: bar" + LS + "baz: val");
@@ -120,11 +129,13 @@ public class TestPropertiesParser extends TestCase {
+ "new-key: new value" + LS, p);
}
+ @Test
public void testEscapedEquals() throws IOException {
Properties p = toProperties("foo=bar\\=WARN,baz\\=TRACE");
assertProperties(new String[][]{ { "foo", "bar=WARN,baz=TRACE" } }, p);
}
+ @Test
public void testLineTypes() throws IOException {
StringBuffer buf = new StringBuffer();
buf.append(" !comment" + LS + " \t " + LS + "name = no" + LS + " "
@@ -140,6 +151,7 @@ public class TestPropertiesParser extends TestCase {
}, p);
}
+ @Test
public void testSpecialChars() throws Throwable {
testSpecialChars(false, true);
testSpecialChars(true, true);
@@ -155,7 +167,7 @@ public class TestPropertiesParser extends TestCase {
* against a normal Properties instance(for validation of the test case).
* @param value whether to test the key or the value
*/
- public void testSpecialChars(boolean formattingProps, boolean value)
+ private void testSpecialChars(boolean formattingProps, boolean value)
throws Throwable {
List valueList = new ArrayList(Arrays.asList(new String[]{
"xxyy", "xx\\yy", "xx" + LS + "yy", "xx\\nyy", "xx\tyy", "xx\\tyy",
@@ -246,6 +258,7 @@ public class TestPropertiesParser extends TestCase {
return buf.toString();
}
+ @Test
public void testEquivalentStore() throws IOException {
Properties p1 = new Properties();
FormatPreservingProperties p2 = new FormatPreservingProperties();
@@ -308,6 +321,7 @@ public class TestPropertiesParser extends TestCase {
return sbuf.toString();
}
+ @Test
public void testDuplicateProperties() throws IOException {
FormatPreservingProperties p = new FormatPreservingProperties();
try {
@@ -324,6 +338,7 @@ public class TestPropertiesParser extends TestCase {
assertProperties(new String[][]{ { "foo", "baz" } }, p);
}
+ @Test
public void testMultipleLoads() throws IOException {
String props = "foo=bar" + LS + "baz=quux";
String props2 = "a=b" + LS + "c=d";
@@ -381,13 +396,6 @@ public class TestPropertiesParser extends TestCase {
}
}
- public static void assertEquals(String expected, String actual) {
- if (expected == actual)
- return;
-
- if (expected == null || !expected.equals(actual))
- fail("Expected <" + expected + "> but was <" + actual + ">");
- }
private void assertPropertiesSame(Properties vanilla, Properties p) {
assertEquals(vanilla, p);
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestReferenceSet.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestReferenceSet.java
index a43869e..5e67227 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestReferenceSet.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestReferenceSet.java
@@ -23,24 +23,23 @@ import java.util.Iterator;
import org.apache.commons.collections4.map.AbstractReferenceMap.ReferenceStrength;
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
/**
* Tests the {@link ReferenceHashSet}.
*
* @author Abe White
*/
-public class TestReferenceSet extends TestCase {
+public class TestReferenceSet {
private ReferenceHashSet _coll = new ReferenceHashSet(ReferenceStrength.WEAK);
private Object _heldValue = new Integer(2);
- public TestReferenceSet(String test) {
- super(test);
- }
-
- @Override
+ @Before
public void setUp() {
_coll.add(_heldValue);
_coll.add(new Integer(1));
@@ -49,6 +48,7 @@ public class TestReferenceSet extends TestCase {
/**
* Tests basic add/contains/remove functionality.
*/
+ @Test
public void testBasics() {
Collection coll = new ReferenceHashSet(ReferenceStrength.WEAK);
assertEquals(0, coll.size());
@@ -69,6 +69,7 @@ public class TestReferenceSet extends TestCase {
/**
* Test that values with strong references are not gc'd.
*/
+ @Test
public void testHeldReference() {
if (JavaVersions.VERSION >= 5)
return;
@@ -81,6 +82,7 @@ public class TestReferenceSet extends TestCase {
/**
* Test that weak references are gc'd.
*/
+ @Test
public void testWeakReference() {
if (JavaVersions.VERSION >= 5)
return;
@@ -106,6 +108,7 @@ public class TestReferenceSet extends TestCase {
/**
* Test that values that have been replaced aren't expired.
*/
+ @Test
public void testChangeValue() {
if (JavaVersions.VERSION >= 5)
return;
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestSimpleRegex.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestSimpleRegex.java
index 2f025c8..8a33e96 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestSimpleRegex.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestSimpleRegex.java
@@ -18,21 +18,23 @@
*/
package org.apache.openjpa.lib.util;
-import junit.framework.TestCase;
-import junit.textui.TestRunner;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
/**
* Tests simple regex for use in in-memory query execution.
*
* @author Greg Campbell
*/
-public class TestSimpleRegex extends TestCase {
+public class TestSimpleRegex {
private boolean matchExpr(String target, String expr, boolean caseInsens) {
SimpleRegex re = new SimpleRegex(expr, caseInsens);
return re.matches(target);
}
+ @Test
public void testWildcards() {
assertTrue(matchExpr("Hello", "Hello", false));
assertFalse(matchExpr("Hello", "Bye", false));
@@ -66,7 +68,4 @@ public class TestSimpleRegex extends TestCase {
assertFalse(matchExpr("Hellow", ".*YoHello", false));
}
- public static void main(String[] args) {
- TestRunner.run(TestSimpleRegex.class);
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTemporaryClassLoader.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTemporaryClassLoader.java
index ebf4eaa..b2229ed 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTemporaryClassLoader.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTemporaryClassLoader.java
@@ -22,9 +22,13 @@ import java.util.HashSet;
import java.util.Set;
import junit.framework.TestCase;
+import org.junit.Test;
-public class TestTemporaryClassLoader extends TestCase {
+import static org.junit.Assert.assertEquals;
+public class TestTemporaryClassLoader {
+
+ @Test
public void testTemporaryClassLoader() throws Exception {
Set s = new HashSet();
for (int i = 0; i < 2; i++) {
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTypedProperties.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTypedProperties.java
index 0ae66f6..16c6ccc 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTypedProperties.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestTypedProperties.java
@@ -18,26 +18,22 @@
*/
package org.apache.openjpa.lib.util;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
/**
* Tests the {@link TypedProperties} type.
*
* @author Abe White
*/
-public class TestTypedProperties extends TestCase {
+public class TestTypedProperties {
private TypedProperties _props = null;
private TypedProperties _defs = null;
- public TestTypedProperties(String test) {
- super(test);
- }
-
- @Override
+ @Before
public void setUp() {
_props = new TypedProperties();
_props.setProperty("bool", "true");
@@ -52,6 +48,7 @@ public class TestTypedProperties extends TestCase {
/**
* Tests basic typed gets.
*/
+ @Test
public void testTypes() {
assertTrue(_props.getBooleanProperty("bool"));
assertEquals(1, _props.getIntProperty("int"));
@@ -64,6 +61,7 @@ public class TestTypedProperties extends TestCase {
/**
* Tests the defaults returned for missing keys.
*/
+ @Test
public void testNoDefaults() {
assertTrue(!_props.getBooleanProperty("bool2"));
assertEquals(0, _props.getIntProperty("int2"));
@@ -77,6 +75,7 @@ public class TestTypedProperties extends TestCase {
* Tests the defaults returned by keys found in the default
* backing properties instance.
*/
+ @Test
public void testDefaults() {
assertTrue(_defs.getBooleanProperty("bool"));
assertEquals(1, _defs.getIntProperty("int"));
@@ -89,6 +88,7 @@ public class TestTypedProperties extends TestCase {
/**
* Tests that given defaults works.
*/
+ @Test
public void testGivenDefaults() {
assertTrue(_props.getBooleanProperty("bool2", true));
assertEquals(1, _props.getIntProperty("int2", 1));
@@ -105,11 +105,4 @@ public class TestTypedProperties extends TestCase {
assertEquals("2.2", _defs.getProperty("double", "3.3"));
}
- public static Test suite() {
- return new TestSuite(TestTypedProperties.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestUUIDGenerator.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestUUIDGenerator.java
index 419f2af..9fb3161 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestUUIDGenerator.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/TestUUIDGenerator.java
@@ -24,15 +24,18 @@ import java.security.PrivilegedExceptionAction;
import java.util.HashSet;
import java.util.Set;
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
/**
* Test UUID generation.
*
* @author Abe White
*/
-public class TestUUIDGenerator extends TestCase {
+public class TestUUIDGenerator {
+ @Test
public void testUniqueString() {
Set seen = new HashSet();
for (int i = 0; i < 10000; i++)
@@ -40,6 +43,7 @@ public class TestUUIDGenerator extends TestCase {
UUIDGenerator.nextString(UUIDGenerator.TYPE1)));
}
+ @Test
public void testUniqueHex() {
Set seen = new HashSet();
for (int i = 0; i < 10000; i++)
@@ -47,6 +51,7 @@ public class TestUUIDGenerator extends TestCase {
UUIDGenerator.nextHex(UUIDGenerator.TYPE1)));
}
+ @Test
public void testUniqueType4String() {
Set seen = new HashSet();
for (int i = 0; i < 10000; i++)
@@ -54,6 +59,7 @@ public class TestUUIDGenerator extends TestCase {
UUIDGenerator.nextString(UUIDGenerator.TYPE4)));
}
+ @Test
public void testUniqueType4Hex() {
Set seen = new HashSet();
for (int i = 0; i < 10000; i++)
@@ -61,6 +67,7 @@ public class TestUUIDGenerator extends TestCase {
UUIDGenerator.nextHex(UUIDGenerator.TYPE4)));
}
+ @Test
public void testUniqueMixedTypesHex() {
Set seen = new HashSet();
for (int i = 0; i < 10000; i++) {
@@ -71,6 +78,7 @@ public class TestUUIDGenerator extends TestCase {
}
}
+ @Test
public void testGetTime() {
long time = 0;
for (int i = 0; i < 10000; i++) {
@@ -80,6 +88,7 @@ public class TestUUIDGenerator extends TestCase {
}
}
+ @Test
public void testInitType1MultiThreaded() throws Exception {
// This test method depends IP and RANDOM in UUIDGenerator to be null
// and type1Initialized to be false. Using reflection to ensure that
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/svn/TestSVNUtils.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/svn/TestSVNUtils.java
index 42a7a76..402fd57 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/svn/TestSVNUtils.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/svn/TestSVNUtils.java
@@ -18,50 +18,46 @@
*/
package org.apache.openjpa.lib.util.svn;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-public class TestSVNUtils extends TestCase {
- public TestSVNUtils(String s) {
- super(s);
- }
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class TestSVNUtils {
+ @Test
public void testNull() {
assertEquals(-1, SVNUtils.svnInfoToInteger(null));
}
+ @Test
public void testBasic() {
int i = 12345678;
assertEquals(i, SVNUtils.svnInfoToInteger(i + ""));
}
+ @Test
public void testGoodTrailingString() {
int i = 12345678;
assertEquals(i, SVNUtils.svnInfoToInteger(i + "m"));
}
+ @Test
public void testMixedRevision() {
int i = 12345678;
assertEquals(i, SVNUtils.svnInfoToInteger("55555:" + i));
}
+ @Test
public void testMixedRevisionTrailingString() {
int i = 12345678;
assertEquals(i, SVNUtils.svnInfoToInteger("55555:" + i + "MS"));
}
+ @Test
public void testBad() {
int i = 12345678;
assertEquals(-1, SVNUtils.svnInfoToInteger("55555:aa" + i + "ms"));
}
- public static Test suite() {
- return new TestSuite(TestSVNUtils.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
}
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestDocTypeReader.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestDocTypeReader.java
index 033a453..36c06b8 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestDocTypeReader.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestDocTypeReader.java
@@ -26,15 +26,15 @@ import java.io.Writer;
import javax.xml.parsers.SAXParser;
+import org.junit.Before;
+import org.junit.Test;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
+import static org.junit.Assert.*;
+
/**
* Tests the {@link DocTypeReader} by comparing the results of passing
@@ -42,7 +42,7 @@ import junit.textui.TestRunner;
*
* @author Abe White
*/
-public class TestDocTypeReader extends TestCase {
+public class TestDocTypeReader {
private String _docType = null;
private String _validXML = null;
@@ -52,11 +52,8 @@ public class TestDocTypeReader extends TestCase {
private String _expectedHTML = null;
private String _xmlWithDocType = null;
- public TestDocTypeReader(String test) {
- super(test);
- }
- @Override
+ @Before
public void setUp() {
StringBuffer docType = new StringBuffer();
docType.append("<!DOCTYPE foo [\n");
@@ -110,6 +107,7 @@ public class TestDocTypeReader extends TestCase {
/**
* Test against expected doc type inclusion behavior.
*/
+ @Test
public void testIncludesDocType() throws IOException {
assertEquals(_validXML, getIncludedString(_validXML, null, 1));
assertEquals(_validXML, getIncludedString(_validXML, null, 7));
@@ -131,6 +129,7 @@ public class TestDocTypeReader extends TestCase {
* Test that the doc type declaration is not included in files with
* doc types.
*/
+ @Test
public void testStreamWithDocType() throws IOException {
assertEquals(_xmlWithDocType, getIncludedString
(_xmlWithDocType, null, 1));
@@ -176,6 +175,7 @@ public class TestDocTypeReader extends TestCase {
/**
* Test that validation occurs correctly.
*/
+ @Test
public void testValidation() throws IOException, SAXException {
SAXParser parser = XMLFactory.getSAXParser(false, false);
InputSource source = new InputSource();
@@ -199,13 +199,6 @@ public class TestDocTypeReader extends TestCase {
}
}
- public static Test suite() {
- return new TestSuite(TestDocTypeReader.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
private static class Handler extends DefaultHandler {
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestXMLWriter.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestXMLWriter.java
index 39bad0e..af6d102 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestXMLWriter.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/xml/TestXMLWriter.java
@@ -27,11 +27,10 @@ import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.apache.openjpa.lib.util.StringUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
/**
* Tests the {@link XMLWriter} by comparing the results of passing the
@@ -40,15 +39,12 @@ import junit.textui.TestRunner;
*
* @author Abe White
*/
-public class TestXMLWriter extends TestCase {
-
- public TestXMLWriter(String test) {
- super(test);
- }
+public class TestXMLWriter {
/**
* Tests the formatting works.
*/
+ @Test
public void testPrettyPrint() throws Exception {
// get the raw xml from a file
StreamSource source = new StreamSource
@@ -76,11 +72,4 @@ public class TestXMLWriter extends TestCase {
return StringUtil.join(StringUtil.split(str, "\r\n", -1), "\n");
}
- public static Test suite() {
- return new TestSuite(TestXMLWriter.class);
- }
-
- public static void main(String[] args) {
- TestRunner.run(suite());
- }
}