From 3f58c1e6f0c2499e34d18d6fe34351559919069a Mon Sep 17 00:00:00 2001 From: Stephen Colebourne Date: Mon, 31 May 2004 22:39:20 +0000 Subject: [PATCH] Add isTestSerialization() method to block serialization tests git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk@131758 13f79535-47bb-0310-9956-ffa450edef68 --- .../collections/AbstractTestObject.java | 18 ++++++--- .../collections/bag/AbstractTestBag.java | 10 ++--- .../collection/AbstractTestCollection.java | 6 +-- .../collections/list/AbstractTestList.java | 13 ++++--- .../collections/map/AbstractTestMap.java | 31 ++++++--------- .../map/AbstractTestSortedMap.java | 39 +++++++++---------- .../collections/map/TestLinkedMap.java | 6 ++- .../collections/map/TestListOrderedMap.java | 6 ++- .../set/AbstractTestSortedSet.java | 8 +++- 9 files changed, 72 insertions(+), 65 deletions(-) diff --git a/src/test/org/apache/commons/collections/AbstractTestObject.java b/src/test/org/apache/commons/collections/AbstractTestObject.java index 9f3bc2581..1a070a0e7 100644 --- a/src/test/org/apache/commons/collections/AbstractTestObject.java +++ b/src/test/org/apache/commons/collections/AbstractTestObject.java @@ -37,7 +37,7 @@ import java.io.Serializable; * you may still use this base set of cases. Simply override the * test case (method) your {@link Object} fails. * - * @version $Revision: 1.5 $ $Date: 2004/04/09 15:17:11 $ + * @version $Revision: 1.6 $ $Date: 2004/05/31 22:39:20 $ * * @author Rodney Waldhoff * @author Stephen Colebourne @@ -87,6 +87,14 @@ public abstract class AbstractTestObject extends BulkTest { return true; } + /** + * Is serialization testing supported. + * Default is true. + */ + public boolean isTestSerialization() { + return true; + } + //----------------------------------------------------------------------- public void testObjectEqualsSelf() { Object obj = makeObject(); @@ -123,7 +131,7 @@ public abstract class AbstractTestObject extends BulkTest { public void testSerializeDeserializeThenCompare() throws Exception { Object obj = makeObject(); - if (obj instanceof Serializable) { + if (obj instanceof Serializable && isTestSerialization()) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(buffer); out.writeObject(obj); @@ -146,7 +154,7 @@ public abstract class AbstractTestObject extends BulkTest { */ public void testSimpleSerialization() throws Exception { Object o = makeObject(); - if (o instanceof Serializable) { + if (o instanceof Serializable && isTestSerialization()) { byte[] objekt = writeExternalFormToBytes((Serializable) o); Object p = readExternalFormFromBytes(objekt); } @@ -157,7 +165,7 @@ public abstract class AbstractTestObject extends BulkTest { * If the test object is serializable, confirm that a canonical form exists. */ public void testCanonicalEmptyCollectionExists() { - if (supportsEmptyCollections()) { + if (supportsEmptyCollections() && isTestSerialization() && !skipSerializedCanonicalTests()) { Object object = makeObject(); if (object instanceof Serializable) { String name = getCanonicalEmptyCollectionName(object); @@ -173,7 +181,7 @@ public abstract class AbstractTestObject extends BulkTest { * If the test object is serializable, confirm that a canonical form exists. */ public void testCanonicalFullCollectionExists() { - if (supportsFullCollections()) { + if (supportsFullCollections() && isTestSerialization() && !skipSerializedCanonicalTests()) { Object object = makeObject(); if (object instanceof Serializable) { String name = getCanonicalFullCollectionName(object); diff --git a/src/test/org/apache/commons/collections/bag/AbstractTestBag.java b/src/test/org/apache/commons/collections/bag/AbstractTestBag.java index 8f071ebab..7be74246c 100644 --- a/src/test/org/apache/commons/collections/bag/AbstractTestBag.java +++ b/src/test/org/apache/commons/collections/bag/AbstractTestBag.java @@ -36,7 +36,7 @@ import org.apache.commons.collections.Bag; * you may still use this base set of cases. Simply override the * test case (method) your bag fails. * - * @version $Revision: 1.8 $ $Date: 2004/02/18 01:20:39 $ + * @version $Revision: 1.9 $ $Date: 2004/05/31 22:39:20 $ * * @author Chuck Burdick * @author Stephen Colebourne @@ -425,7 +425,7 @@ public abstract class AbstractTestBag extends AbstractTestObject { //----------------------------------------------------------------------- public void testEmptyBagSerialization() throws IOException, ClassNotFoundException { Bag bag = makeBag(); - if (!(bag instanceof Serializable)) return; + if (!(bag instanceof Serializable && isTestSerialization())) return; byte[] objekt = writeExternalFormToBytes((Serializable) bag); Bag bag2 = (Bag) readExternalFormFromBytes(objekt); @@ -442,7 +442,7 @@ public abstract class AbstractTestBag extends AbstractTestObject { bag.add("B"); bag.add("C"); int size = bag.size(); - if (!(bag instanceof Serializable)) return; + if (!(bag instanceof Serializable && isTestSerialization())) return; byte[] objekt = writeExternalFormToBytes((Serializable) bag); Bag bag2 = (Bag) readExternalFormFromBytes(objekt); @@ -458,7 +458,7 @@ public abstract class AbstractTestBag extends AbstractTestObject { public void testEmptyBagCompatibility() throws IOException, ClassNotFoundException { // test to make sure the canonical form has been preserved Bag bag = makeBag(); - if(bag instanceof Serializable && !skipSerializedCanonicalTests()) { + if(bag instanceof Serializable && !skipSerializedCanonicalTests() && isTestSerialization()) { Bag bag2 = (Bag) readExternalFormFromDisk(getCanonicalEmptyCollectionName(bag)); assertTrue("Bag is empty",bag2.size() == 0); assertEquals(bag, bag2); @@ -477,7 +477,7 @@ public abstract class AbstractTestBag extends AbstractTestObject { bag.add("B"); bag.add("B"); bag.add("C"); - if(bag instanceof Serializable && !skipSerializedCanonicalTests()) { + if(bag instanceof Serializable && !skipSerializedCanonicalTests() && isTestSerialization()) { Bag bag2 = (Bag) readExternalFormFromDisk(getCanonicalFullCollectionName(bag)); assertEquals("Bag is the right size",bag.size(), bag2.size()); assertEquals(bag, bag2); diff --git a/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java b/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java index ac018fabd..63515f50b 100644 --- a/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java +++ b/src/test/org/apache/commons/collections/collection/AbstractTestCollection.java @@ -112,7 +112,7 @@ import org.apache.commons.collections.AbstractTestObject; * you may still use this base set of cases. Simply override the * test case (method) your {@link Collection} fails. * - * @version $Revision: 1.6 $ $Date: 2004/05/31 19:09:14 $ + * @version $Revision: 1.7 $ $Date: 2004/05/31 22:39:20 $ * * @author Rodney Waldhoff * @author Paul Jack @@ -1300,7 +1300,7 @@ public abstract class AbstractTestCollection extends AbstractTestObject { public void testSerializeDeserializeThenCompare() throws Exception { Object obj = makeCollection(); - if (obj instanceof Serializable) { + if (obj instanceof Serializable && isTestSerialization()) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(buffer); out.writeObject(obj); @@ -1314,7 +1314,7 @@ public abstract class AbstractTestCollection extends AbstractTestObject { } } obj = makeFullCollection(); - if (obj instanceof Serializable) { + if (obj instanceof Serializable && isTestSerialization()) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(buffer); out.writeObject(obj); diff --git a/src/test/org/apache/commons/collections/list/AbstractTestList.java b/src/test/org/apache/commons/collections/list/AbstractTestList.java index 4b613d5ac..e64b3ad6e 100644 --- a/src/test/org/apache/commons/collections/list/AbstractTestList.java +++ b/src/test/org/apache/commons/collections/list/AbstractTestList.java @@ -45,7 +45,7 @@ import org.apache.commons.collections.iterators.AbstractTestListIterator; * test case (method) your {@link List} fails or override one of the * protected methods from AbstractTestCollection. * - * @version $Revision: 1.8 $ $Date: 2004/05/31 19:09:14 $ + * @version $Revision: 1.9 $ $Date: 2004/05/31 22:39:20 $ * * @author Rodney Waldhoff * @author Paul Jack @@ -946,7 +946,7 @@ public abstract class AbstractTestList extends AbstractTestCollection { public void testEmptyListSerialization() throws IOException, ClassNotFoundException { List list = makeEmptyList(); - if (!(list instanceof Serializable)) return; + if (!(list instanceof Serializable && isTestSerialization())) return; byte[] objekt = writeExternalFormToBytes((Serializable) list); List list2 = (List) readExternalFormFromBytes(objekt); @@ -959,7 +959,7 @@ public abstract class AbstractTestList extends AbstractTestCollection { throws IOException, ClassNotFoundException { List list = makeFullList(); int size = getFullElements().length; - if (!(list instanceof Serializable)) return; + if (!(list instanceof Serializable && isTestSerialization())) return; byte[] objekt = writeExternalFormToBytes((Serializable) list); List list2 = (List) readExternalFormFromBytes(objekt); @@ -983,7 +983,7 @@ public abstract class AbstractTestList extends AbstractTestCollection { // test to make sure the canonical form has been preserved List list = makeEmptyList(); - if(list instanceof Serializable && !skipSerializedCanonicalTests()) { + if(list instanceof Serializable && !skipSerializedCanonicalTests() && isTestSerialization()) { List list2 = (List) readExternalFormFromDisk(getCanonicalEmptyCollectionName(list)); assertTrue("List is empty",list2.size() == 0); assertEquals(list, list2); @@ -1005,7 +1005,7 @@ public abstract class AbstractTestList extends AbstractTestCollection { // test to make sure the canonical form has been preserved List list = makeFullList(); - if(list instanceof Serializable && !skipSerializedCanonicalTests()) { + if(list instanceof Serializable && !skipSerializedCanonicalTests() && isTestSerialization()) { List list2 = (List) readExternalFormFromDisk(getCanonicalFullCollectionName(list)); if (list2.size() == 4) { // old serialized tests @@ -1098,6 +1098,9 @@ public abstract class AbstractTestList extends AbstractTestCollection { outer.verify(); } + public boolean isTestSerialization() { + return false; + } } diff --git a/src/test/org/apache/commons/collections/map/AbstractTestMap.java b/src/test/org/apache/commons/collections/map/AbstractTestMap.java index b047b20ea..3654c18b7 100644 --- a/src/test/org/apache/commons/collections/map/AbstractTestMap.java +++ b/src/test/org/apache/commons/collections/map/AbstractTestMap.java @@ -117,7 +117,7 @@ import org.apache.commons.collections.set.AbstractTestSet; * @author Rodney Waldhoff * @author Paul Jack * @author Stephen Colebourne - * @version $Revision: 1.14 $ $Date: 2004/04/12 12:04:00 $ + * @version $Revision: 1.15 $ $Date: 2004/05/31 22:39:20 $ */ public abstract class AbstractTestMap extends AbstractTestObject { @@ -739,7 +739,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { // test to make sure the canonical form has been preserved Map map = makeEmptyMap(); - if (map instanceof Serializable && !skipSerializedCanonicalTests()) { + if (map instanceof Serializable && !skipSerializedCanonicalTests() && isTestSerialization()) { Map map2 = (Map) readExternalFormFromDisk(getCanonicalEmptyCollectionName(map)); assertEquals("Map is empty", 0, map2.size()); } @@ -760,7 +760,7 @@ public abstract class AbstractTestMap extends AbstractTestObject { // test to make sure the canonical form has been preserved Map map = makeFullMap(); - if (map instanceof Serializable && !skipSerializedCanonicalTests()) { + if (map instanceof Serializable && !skipSerializedCanonicalTests() && isTestSerialization()) { Map map2 = (Map) readExternalFormFromDisk(getCanonicalFullCollectionName(map)); assertEquals("Map is the right size", getSampleKeys().length, map2.size()); } @@ -1255,13 +1255,10 @@ public abstract class AbstractTestMap extends AbstractTestObject { public boolean isGetStructuralModify() { return AbstractTestMap.this.isGetStructuralModify(); } - public boolean supportsEmptyCollections() { - return AbstractTestMap.this.supportsEmptyCollections(); + public boolean isTestSerialization() { + return false; } - public boolean supportsFullCollections() { - return AbstractTestMap.this.supportsFullCollections(); - } - + public void resetFull() { AbstractTestMap.this.resetFull(); collection = map.entrySet(); @@ -1415,11 +1412,8 @@ public abstract class AbstractTestMap extends AbstractTestObject { public boolean isRemoveSupported() { return AbstractTestMap.this.isRemoveSupported(); } - public boolean supportsEmptyCollections() { - return AbstractTestMap.this.supportsEmptyCollections(); - } - public boolean supportsFullCollections() { - return AbstractTestMap.this.supportsFullCollections(); + public boolean isTestSerialization() { + return false; } public void resetEmpty() { @@ -1484,13 +1478,10 @@ public abstract class AbstractTestMap extends AbstractTestObject { public boolean isRemoveSupported() { return AbstractTestMap.this.isRemoveSupported(); } - public boolean supportsEmptyCollections() { - return AbstractTestMap.this.supportsEmptyCollections(); + public boolean isTestSerialization() { + return false; } - public boolean supportsFullCollections() { - return AbstractTestMap.this.supportsFullCollections(); - } - + public boolean areEqualElementsDistinguishable() { // equal values are associated with different keys, so they are // distinguishable. diff --git a/src/test/org/apache/commons/collections/map/AbstractTestSortedMap.java b/src/test/org/apache/commons/collections/map/AbstractTestSortedMap.java index 0abd7e342..64cb02f22 100644 --- a/src/test/org/apache/commons/collections/map/AbstractTestSortedMap.java +++ b/src/test/org/apache/commons/collections/map/AbstractTestSortedMap.java @@ -28,7 +28,7 @@ import org.apache.commons.collections.BulkTest; /** * Abstract test class for {@link java.util.SortedMap} methods and contracts. * - * @version $Revision: 1.8 $ $Date: 2004/04/09 15:17:11 $ + * @version $Revision: 1.9 $ $Date: 2004/05/31 22:39:20 $ * * @author Stephen Colebourne */ @@ -155,28 +155,25 @@ public abstract class AbstractTestSortedMap extends AbstractTestMap { public boolean isRemoveSupported() { return main.isRemoveSupported(); } - public boolean supportsEmptyCollections() { + public boolean isTestSerialization() { return false; } - public boolean supportsFullCollections() { - return false; - } - public void testSimpleSerialization() throws Exception { - if (main.isSubMapViewsSerializable() == false) return; - super.testSimpleSerialization(); - } - public void testSerializeDeserializeThenCompare() throws Exception { - if (main.isSubMapViewsSerializable() == false) return; - super.testSerializeDeserializeThenCompare(); - } - public void testEmptyMapCompatibility() throws Exception { - if (main.isSubMapViewsSerializable() == false) return; - super.testEmptyMapCompatibility(); - } - public void testFullMapCompatibility() throws Exception { - if (main.isSubMapViewsSerializable() == false) return; - super.testFullMapCompatibility(); - } +// public void testSimpleSerialization() throws Exception { +// if (main.isSubMapViewsSerializable() == false) return; +// super.testSimpleSerialization(); +// } +// public void testSerializeDeserializeThenCompare() throws Exception { +// if (main.isSubMapViewsSerializable() == false) return; +// super.testSerializeDeserializeThenCompare(); +// } +// public void testEmptyMapCompatibility() throws Exception { +// if (main.isSubMapViewsSerializable() == false) return; +// super.testEmptyMapCompatibility(); +// } +// public void testFullMapCompatibility() throws Exception { +// if (main.isSubMapViewsSerializable() == false) return; +// super.testFullMapCompatibility(); +// } } public static class TestHeadMap extends TestViewMap { diff --git a/src/test/org/apache/commons/collections/map/TestLinkedMap.java b/src/test/org/apache/commons/collections/map/TestLinkedMap.java index ea0ee94b0..0ee09f127 100644 --- a/src/test/org/apache/commons/collections/map/TestLinkedMap.java +++ b/src/test/org/apache/commons/collections/map/TestLinkedMap.java @@ -32,7 +32,7 @@ import org.apache.commons.collections.list.AbstractTestList; /** * JUnit tests. * - * @version $Revision: 1.7 $ $Date: 2004/02/27 00:25:14 $ + * @version $Revision: 1.8 $ $Date: 2004/05/31 22:39:20 $ * * @author Stephen Colebourne */ @@ -252,7 +252,9 @@ public class TestLinkedMap extends AbstractTestOrderedMap { public boolean isNullSupported() { return TestLinkedMap.this.isAllowNullKey(); } - + public boolean isTestSerialization() { + return false; + } } public void testClone() { diff --git a/src/test/org/apache/commons/collections/map/TestListOrderedMap.java b/src/test/org/apache/commons/collections/map/TestListOrderedMap.java index f81fbdca5..d348631e3 100644 --- a/src/test/org/apache/commons/collections/map/TestListOrderedMap.java +++ b/src/test/org/apache/commons/collections/map/TestListOrderedMap.java @@ -31,7 +31,7 @@ import org.apache.commons.collections.list.AbstractTestList; * implementation. * * @since Commons Collections 3.0 - * @version $Revision: 1.9 $ $Date: 2004/04/07 23:17:25 $ + * @version $Revision: 1.10 $ $Date: 2004/05/31 22:39:20 $ * * @author Henri Yandell * @author Stephen Colebourne @@ -188,7 +188,9 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { public boolean isNullSupported() { return TestListOrderedMap.this.isAllowNullKey(); } - + public boolean isTestSerialization() { + return false; + } } public String getCompatibilityVersion() { diff --git a/src/test/org/apache/commons/collections/set/AbstractTestSortedSet.java b/src/test/org/apache/commons/collections/set/AbstractTestSortedSet.java index feb87066d..dd6fe6542 100644 --- a/src/test/org/apache/commons/collections/set/AbstractTestSortedSet.java +++ b/src/test/org/apache/commons/collections/set/AbstractTestSortedSet.java @@ -32,7 +32,7 @@ import org.apache.commons.collections.BulkTest; * elements may be added; see {@link AbstractTestCollection} for more details. * * @since Commons Collections 3.0 - * @version $Revision: 1.5 $ $Date: 2004/02/18 01:20:39 $ + * @version $Revision: 1.6 $ $Date: 2004/05/31 22:39:20 $ * * @author Stephen Colebourne * @author Dieter Wimberger @@ -284,7 +284,11 @@ public abstract class AbstractTestSortedSet extends AbstractTestSet { SortedSet s = (SortedSet) AbstractTestSortedSet.this.makeFullCollection(); return getSubSet(s); } - + + public boolean isTestSerialization() { + return false; + } + public BulkTest bulkTestSortedSetSubSet() { return null; // prevent infinite recursion }