blob: 3b1a063c000b6e6ff75fffec4dd96f5241869ff5 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package tests.api.java.io;
import java.io.File;
import java.io.FilePermission;
import java.io.IOException;
import java.io.Serializable;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.net.URI;
import java.net.URISyntaxException;
import java.security.AllPermission;
import java.security.PermissionCollection;
import java.security.cert.Certificate;
import java.text.DateFormat;
import java.text.MessageFormat;
import java.text.NumberFormat;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TimeZone;
import java.util.Collections;
import tests.support.Support_Configuration;
import tests.support.Support_Proxy_I1;
import dalvik.annotation.KnownFailure;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestTargetNew;
@TestTargetClass(java.io.Serializable.class)
public class SerializationStressTest4 extends SerializationStressTest {
// -----------------------------------------------------------------------------------
private static class GuardImplementation implements java.security.Guard,
java.io.Serializable {
public GuardImplementation() {
}
public void checkGuard(Object o) {
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_EventObject() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.EventObject)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.util.EventObject("Source");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = true;
// The the only data in EventObject that
// differentiates between instantiations is transient
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_PermissionCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.PermissionCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new java.security.PermissionCollection() {
boolean added = false;
public void add(java.security.Permission p1) {
added = true;
}
public java.util.Enumeration elements() {
return (new java.util.Vector()).elements();
}
public boolean implies(java.security.Permission p1) {
return added;
}
public boolean equals(Object obj) {
if (!(obj instanceof java.security.PermissionCollection))
return false;
return implies(null) == ((PermissionCollection) obj)
.implies(null);
}
};
((java.security.PermissionCollection) objToSave).add(null);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_EmptySet() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.EmptySet)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.EMPTY_SET;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = objToSave.equals(objLoaded);
if (equals)
equals = ((Set) objLoaded).size() == 0;
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_EmptyMap() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.EmptySet)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.EMPTY_MAP;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = objToSave.equals(objLoaded);
if (equals)
equals = ((Map) objLoaded).size() == 0;
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_BasicPermissionCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.BasicPermissionCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = (new RuntimePermission("test"))
.newPermissionCollection();
((java.security.PermissionCollection) objToSave)
.add(new RuntimePermission("test"));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
Enumeration enum1 = ((java.security.PermissionCollection) objToSave)
.elements(), enum2 = ((java.security.PermissionCollection) objLoaded)
.elements();
equals = true;
while (enum1.hasMoreElements() && equals) {
if (enum2.hasMoreElements())
equals = enum1.nextElement().equals(enum2.nextElement());
else
equals = false;
}
if (equals)
equals = !enum2.hasMoreElements();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_UnresolvedPermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.UnresolvedPermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.security.UnresolvedPermission("type", "name",
"actions", null);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = objToSave.toString().equals(objLoaded.toString());
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Character() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Character)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.Character('c');
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_UnmodifiableCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.UnmodifiableCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.unmodifiableCollection(SET);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((java.util.Collection) objToSave).size() == ((java.util.Collection) objLoaded)
.size();
if (equals) {
java.util.Iterator iter1 = ((java.util.Collection) objToSave)
.iterator(), iter2 = ((java.util.Collection) objLoaded)
.iterator();
while (iter1.hasNext())
equals = equals && iter1.next().equals(iter2.next());
}
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Format() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.Format)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new java.text.Format() {
String save = "default";
public StringBuffer format(Object p1, StringBuffer p2,
java.text.FieldPosition p3) {
return new StringBuffer();
}
public Object parseObject(String p1, java.text.ParsePosition p2) {
if (p1 != null)
save = p1;
return save;
}
public boolean equals(Object obj) {
if (!(obj instanceof java.text.Format))
return false;
return save.equals(((java.text.Format) obj).parseObject(
null, null));
}
};
((java.text.Format) objToSave).parseObject("Test", null);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_BigDecimal() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.math.BigDecimal)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.math.BigDecimal("1.2345");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_UnresolvedPermissionCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.UnresolvedPermissionCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = (new java.security.UnresolvedPermission("type", "name",
"actions", null)).newPermissionCollection();
((java.security.PermissionCollection) objToSave)
.add(new java.security.UnresolvedPermission("type", "name",
"actions", null));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
Enumeration enum1 = ((java.security.PermissionCollection) objToSave)
.elements(), enum2 = ((java.security.PermissionCollection) objLoaded)
.elements();
equals = true;
while (enum1.hasMoreElements() && equals) {
if (enum2.hasMoreElements())
equals = enum1.nextElement().toString().equals(
enum2.nextElement().toString());
else
equals = false;
}
if (equals)
equals = !enum2.hasMoreElements();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_SecureRandomSpi() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.SecureRandomSpi)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new java.security.SecureRandomSpi() {
protected byte[] engineGenerateSeed(int p1) {
return new byte[0];
}
protected void engineNextBytes(byte[] p1) {
}
protected void engineSetSeed(byte[] p1) {
}
public boolean equals(Object obj) {
return true;
}
};
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Short() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Short)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.Short((short) 107);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Byte() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Byte)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.Byte((byte) 107);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_String_CaseInsensitiveComparator() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.String.CaseInsensitiveComparator)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.lang.String.CASE_INSENSITIVE_ORDER;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((Comparator) objToSave).compare("apple", "Banana") == ((Comparator) objLoaded)
.compare("apple", "Banana");
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Calendar() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Calendar)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.util.Calendar(TimeZone.getTimeZone("EST"),
Locale.CANADA) {
public void add(int p1, int p2) {
}
protected void computeFields() {
}
protected void computeTime() {
}
public int getGreatestMinimum(int p1) {
return 0;
}
public int getLeastMaximum(int p1) {
return 0;
}
public int getMaximum(int p1) {
return 0;
}
public int getMinimum(int p1) {
return 0;
}
public void roll(int p1, boolean p2) {
}
};
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + "Calendar", objToSave
.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_ReflectPermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.reflect.ReflectPermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.reflect.ReflectPermission(
"TestSerialization", "test");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_StringBuffer() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.StringBuffer)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.StringBuffer("This is a test.");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((java.lang.StringBuffer) objToSave).toString().equals(
((java.lang.StringBuffer) objLoaded).toString());
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_File() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.io.File)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new File("afile.txt");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_AllPermissionCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.AllPermissionCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = (new java.security.AllPermission())
.newPermissionCollection();
((java.security.PermissionCollection) objToSave)
.add(new java.security.AllPermission());
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
Enumeration enum1 = ((java.security.PermissionCollection) objToSave)
.elements(), enum2 = ((java.security.PermissionCollection) objLoaded)
.elements();
equals = true;
while (enum1.hasMoreElements() && equals) {
if (enum2.hasMoreElements())
equals = enum1.nextElement().equals(enum2.nextElement());
else
equals = false;
}
if (equals)
equals = !enum2.hasMoreElements();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_BitSet() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.BitSet)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.util.BitSet();
((java.util.BitSet) objToSave).set(3);
((java.util.BitSet) objToSave).set(5);
((java.util.BitSet) objToSave).set(61, 89);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_DateFormat() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.DateFormat)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new java.text.DateFormat() {
// Thu Feb 01 01:01:01 EST 2001
java.util.Date save = new java.util.Date(981007261000L);
public StringBuffer format(Date p1, StringBuffer p2,
java.text.FieldPosition p3) {
if (p1 != null)
save = p1;
return new StringBuffer(Long.toString(save.getTime()));
}
public Date parse(String p1, java.text.ParsePosition p2) {
return save;
}
public String toString() {
return save.toString();
}
public boolean equals(Object obj) {
if (!(obj instanceof java.text.DateFormat))
return false;
return save.equals(((java.text.DateFormat) obj).parse(null,
null));
}
};
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_CopiesList() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.CopiesList)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.nCopies(2, new Integer(2));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((List) objToSave).get(0)
.equals(((List) objLoaded).get(0));
if (equals)
equals = ((List) objToSave).get(1).equals(
((List) objLoaded).get(1));
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_SerializablePermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.io.SerializablePermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.io.SerializablePermission("TestSerialization",
"Test");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Properties() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Properties)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.util.Properties();
((java.util.Properties) objToSave).put("key1", "value1");
((java.util.Properties) objToSave).put("key2", "value2");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
Enumeration enum1 = ((java.util.Properties) objToSave).elements(), enum2 = ((java.util.Properties) objLoaded)
.elements();
equals = true;
while (enum1.hasMoreElements() && equals) {
if (enum2.hasMoreElements())
equals = enum1.nextElement().equals(enum2.nextElement());
else
equals = false;
}
if (equals)
equals = !enum2.hasMoreElements();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
// TODO : requires working security implementation
// public void test_writeObject_BasicPermission() {
// // Test for method void
// //
// java.io.ObjectOutputStream.writeObject(tests.java.security.Test_BasicPermission.BasicPermissionSubclass)
//
// Object objToSave = null;
// Object objLoaded = null;
//
// try {
// objToSave = new
// tests.java.security.Test_BasicPermission.BasicPermissionSubclass(
// "TestSerialization");
// if (DEBUG)
// System.out.println("Obj = " + objToSave);
// objLoaded = dumpAndReload(objToSave);
//
// // Has to have worked
// assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
// } catch (IOException e) {
// fail("Exception serializing " + objToSave + " : "
// + e.getMessage());
// } catch (ClassNotFoundException e) {
// fail("ClassNotFoundException reading Object type : " + e.getMessage());
// } catch (Error err) {
// System.out.println("Error when obj = " + objToSave);
// // err.printStackTrace();
// throw err;
// }
//
// }
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_UnmodifiableMap() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.UnmodifiableMap)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.unmodifiableMap(MAP);
if (DEBUG) System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertEquals(MSG_TEST_FAILED, objToSave, objLoaded);
} catch (IOException e) {
e.printStackTrace();
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_NumberFormat() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.NumberFormat)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new java.text.NumberFormat() {
long save = 107;
public StringBuffer format(double p1, StringBuffer p2,
java.text.FieldPosition p3) {
return new StringBuffer();
}
public StringBuffer format(long p1, StringBuffer p2,
java.text.FieldPosition p3) {
if (p1 != 0)
save = p1;
return new StringBuffer(Long.toString(save));
}
public Number parse(String p1, java.text.ParsePosition p2) {
return new Long(save);
}
public boolean equals(Object obj) {
if (!(obj instanceof java.text.NumberFormat))
return false;
return save == ((Long) ((java.text.NumberFormat) obj)
.parse(null, null)).longValue();
}
};
((java.text.NumberFormat) objToSave).format(63L, null, null);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_TimeZone() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.TimeZone)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new java.util.TimeZone() {
int save = 0;
public int getOffset(int p1, int p2, int p3, int p4, int p5,
int p6) {
return 0;
}
public int getRawOffset() {
return save;
}
public boolean inDaylightTime(java.util.Date p1) {
return false;
}
public void setRawOffset(int p1) {
save = p1;
}
public boolean useDaylightTime() {
return false;
}
public boolean equals(Object obj) {
if (obj instanceof TimeZone)
return save == ((TimeZone) obj).getRawOffset();
return false;
}
};
((java.util.TimeZone) objToSave).setRawOffset(48);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Double() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Double)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.Double(1.23);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Number() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Number)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new Number() {
int numCalls = 0;
public double doubleValue() {
return ++numCalls;
}
public float floatValue() {
return ++numCalls;
}
public int intValue() {
return numCalls;
}
public long longValue() {
return ++numCalls;
}
public boolean equals(Object obj) {
if (!(obj instanceof java.lang.Number))
return false;
return intValue() == ((Number) obj).intValue();
}
};
((java.lang.Number) objToSave).doubleValue();
((java.lang.Number) objToSave).floatValue();
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_AllPermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.AllPermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.security.AllPermission();
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_ReverseComparator() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.ReverseComparator)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.reverseOrder();
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((Comparator) objToSave).compare("Hello", "Jello") == ((Comparator) objLoaded)
.compare("Hello", "Jello");
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("IOException serializing " + objToSave + " : "
+ e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type : "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_DateFormatSymbols() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.DateFormatSymbols)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.text.DateFormatSymbols(Locale.CHINESE);
((java.text.DateFormatSymbols) objToSave)
.setZoneStrings(new String[][] { { "a", "b", "c", "d" },
{ "e", "f", "g", "h" } });
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_EmptyList() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.EmptyList)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.EMPTY_LIST;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = objToSave.equals(objLoaded);
if (equals)
equals = ((List) objLoaded).size() == 0;
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Boolean() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Boolean)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.Boolean(true);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_SingletonSet() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.SingletonSet)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.singleton(new Byte((byte) 107));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
java.util.Iterator iter = ((Set) objLoaded).iterator();
equals = iter.hasNext();
if (equals)
equals = iter.next().equals(new Byte((byte) 107));
if (equals)
equals = !iter.hasNext();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_SingletonList() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.SingletonSet)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections
.singletonList(new Byte((byte) 107));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
java.util.Iterator iter = ((List) objLoaded).iterator();
equals = objLoaded.equals(objToSave) && iter.hasNext()
&& iter.next().equals(new Byte((byte) 107))
&& !iter.hasNext();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_SingletonMap() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.SingletonSet)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.singletonMap("key", new Byte(
(byte) 107));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
java.util.Iterator iter = ((Map) objLoaded).entrySet().iterator();
equals = objLoaded.equals(objToSave) && iter.hasNext();
Map.Entry entry = (Map.Entry) iter.next();
equals = equals && entry.getKey().equals("key")
&& entry.getValue().equals(new Byte((byte) 107))
&& !iter.hasNext();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_FilePermission_FilePermissionCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.io.FilePermission.FilePermissionCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = (new java.io.FilePermission("<<ALL FILES>>", "read"))
.newPermissionCollection();
((java.security.PermissionCollection) objToSave)
.add(new FilePermission("<<ALL FILES>>", "read"));
((java.security.PermissionCollection) objToSave)
.add(new FilePermission("d:\\", "read"));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
java.util.Enumeration enum1 = ((java.security.PermissionCollection) objToSave)
.elements(), enum2 = ((java.security.PermissionCollection) objLoaded)
.elements();
equals = true;
while (enum1.hasMoreElements() && equals) {
if (enum2.hasMoreElements())
equals = enum1.nextElement().equals(enum2.nextElement());
else
equals = false;
}
if (equals)
equals = !enum2.hasMoreElements();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_SecureRandom() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.SecureRandom)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.security.SecureRandom();
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = true; // assume fine because of the nature of the class,
// it is difficult to determine if they are the same
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_FilePermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.io.FilePermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.io.FilePermission("<<ALL FILES>>", "read");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_InetAddress() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.net.InetAddress)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.net.InetAddress
.getByName(Support_Configuration.InetTestIP);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Inet6Address() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.net.Inet6Address)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.net.Inet6Address
.getByName(Support_Configuration.InetTestIP6);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_RuntimePermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.RuntimePermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.RuntimePermission("TestSerialization",
"Test");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Permissions() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.Permissions)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.security.Permissions();
((java.security.Permissions) objToSave).add(new AllPermission());
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
Enumeration enum1 = ((java.security.PermissionCollection) objToSave)
.elements(), enum2 = ((java.security.PermissionCollection) objLoaded)
.elements();
java.util.Vector vec1 = new java.util.Vector(), vec2 = new java.util.Vector();
while (enum1.hasMoreElements())
vec1.add(enum1.nextElement());
while (enum2.hasMoreElements())
vec2.add(enum2.nextElement());
equals = vec1.size() == vec2.size();
if (equals) {
int length = vec1.size();
Object[] perms1 = new Object[length], perms2 = new Object[length];
for (int i = 0; i < length; ++i) {
perms1[i] = vec1.elementAt(i);
perms2[i] = vec2.elementAt(i);
}
Comparator comparator = new Comparator() {
public int compare(Object o1, Object o2) {
return o1.toString().compareTo(o2.toString());
}
public boolean equals(Object o1, Object o2) {
return o1.toString().equals(o2.toString());
}
};
java.util.Arrays.sort(perms1, comparator);
java.util.Arrays.sort(perms2, comparator);
for (int i = 0; i < length && equals; ++i)
equals = perms1[i].equals(perms2[i]);
}
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Date() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Date)
Object objToSave = null;
Object objLoaded = null;
try {
// Thu Feb 01 01:01:01 EST 2001
objToSave = new java.util.Date(981007261000L);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Float() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Float)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.Float(1.23f);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_SecurityPermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.SecurityPermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.security.SecurityPermission(
"TestSerialization", "Test");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_SocketPermission_SocketPermissionCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.net.SocketPermission.SocketPermissionCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = (new java.net.SocketPermission("www.yahoo.com",
"connect")).newPermissionCollection();
((java.security.PermissionCollection) objToSave)
.add(new java.net.SocketPermission("www.yahoo.com",
"connect"));
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
Enumeration enum1 = ((java.security.PermissionCollection) objToSave)
.elements(), enum2 = ((java.security.PermissionCollection) objLoaded)
.elements();
equals = true;
while (enum1.hasMoreElements() && equals) {
if (enum2.hasMoreElements())
equals = enum1.nextElement().equals(enum2.nextElement());
else
equals = false;
}
if (equals)
equals = !enum2.hasMoreElements();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Stack() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Stack)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.util.Stack();
((java.util.Stack) objToSave).push("String 1");
((java.util.Stack) objToSave).push("String 2");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = true;
while (!((java.util.Stack) objToSave).empty() && equals) {
if (!((java.util.Stack) objLoaded).empty())
equals = ((java.util.Stack) objToSave).pop().equals(
((java.util.Stack) objLoaded).pop());
else
equals = false;
}
if (equals)
equals = ((java.util.Stack) objLoaded).empty();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_DecimalFormatSymbols() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.DecimalFormatSymbols)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.text.DecimalFormatSymbols(Locale.CHINESE);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_NetPermission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.net.NetPermission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.net.NetPermission("TestSerialization", "Test");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_AttributedCharacterIterator_Attribute() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.AttributedCharacterIterator.Attribute)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.text.AttributedCharacterIterator.Attribute.LANGUAGE;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Long() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Long)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.lang.Long(107L);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_CodeSource() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.CodeSource)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
try {
objToSave = new java.security.CodeSource(new java.net.URL(
"http://localhost/a.txt"),
(Certificate[])null);
} catch (Exception e) {
fail("Exception creating object : " + e.getMessage());
}
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Collections_SynchronizedCollection() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Collections.SynchronizedCollection)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Collections.synchronizedCollection(SET);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((java.util.Collection) objToSave).size() == ((java.util.Collection) objLoaded)
.size();
if (equals) {
java.util.Iterator iter1 = ((java.util.Collection) objToSave)
.iterator(), iter2 = ((java.util.Collection) objLoaded)
.iterator();
while (iter1.hasNext())
equals = equals && iter1.next().equals(iter2.next());
}
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Permission() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.Permission)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = null;
objToSave = new java.security.Permission("test") {
public boolean equals(Object p1) {
if (!(p1 instanceof java.security.Permission))
return false;
return getName().equals(
((java.security.Permission) p1).getName());
}
public int hashCode() {
return 0;
}
public String getActions() {
return null;
}
public boolean implies(java.security.Permission p1) {
return false;
}
};
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Random() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Random)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.util.Random(107L);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((java.util.Random) objToSave).nextInt() == ((java.util.Random) objLoaded)
.nextInt();
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_GuardedObject() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.security.GuardedObject)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = new java.security.GuardedObject("Test Object",
new GuardImplementation());
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
boolean equals;
equals = ((java.security.GuardedObject) objToSave).getObject()
.equals(
((java.security.GuardedObject) objLoaded)
.getObject());
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
// TODO : Reintroduce when we have a working security implementation
// public void test_writeObject_KeyPair() {
// // Test for method void
// // java.io.ObjectOutputStream.writeObject(java.security.GuardedObject)
//
// Object objToSave = null;
// Object objLoaded = null;
//
// try {
// objToSave = new java.security.KeyPair(null, null);
// if (DEBUG)
// System.out.println("Obj = " + objToSave);
// objLoaded = dumpAndReload(objToSave);
//
// // Has to have worked
// boolean equals;
// equals = true;
// assertTrue(MSG_TEST_FAILED + objToSave, equals);
// } catch (IOException e) {
// fail("IOException serializing " + objToSave + " : "
// + e.getMessage());
// } catch (ClassNotFoundException e) {
// fail("ClassNotFoundException reading Object type : " + e.getMessage());
// } catch (Error err) {
// System.out.println("Error when obj = " + objToSave);
// // err.printStackTrace();
// throw err;
// }
// }
static class MyInvocationHandler implements InvocationHandler, Serializable {
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
if (method.getName().equals("equals"))
return new Boolean(proxy == args[0]);
if (method.getName().equals("array"))
return new int[] { (int) ((long[]) args[0])[1], -1 };
if (method.getName().equals("string")) {
if ("error".equals(args[0]))
throw new ArrayStoreException();
if ("any".equals(args[0]))
throw new IllegalAccessException();
}
return null;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Proxy()
throws ClassNotFoundException, IOException {
// serialize class
Class<?> proxyClass = Proxy.getProxyClass(Support_Proxy_I1.class
.getClassLoader(), new Class[]{Support_Proxy_I1.class});
Class<?> proxyClassOut = (Class<?>) dumpAndReload(proxyClass);
assertTrue(Proxy.isProxyClass(proxyClassOut));
assertEquals(Collections.<Class>singletonList(Support_Proxy_I1.class),
Arrays.asList(proxyClassOut.getInterfaces()));
// serialize instance
InvocationHandler handler = new MyInvocationHandler();
Object proxyInstance = Proxy.newProxyInstance(Support_Proxy_I1.class
.getClassLoader(), new Class[] { Support_Proxy_I1.class },
handler);
Object proxyInstanceOut = dumpAndReload(proxyInstance);
assertEquals(MyInvocationHandler.class,
Proxy.getInvocationHandler(proxyInstanceOut).getClass());
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_URI() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.net.URI)
Object objToSave = null;
Object objLoaded = null;
try {
try {
objToSave = new URI[] {
// single arg constructor
new URI(
"http://user%60%20info@host/a%20path?qu%60%20ery#fr%5E%20ag"),
// escaped octets for illegal chars
new URI(
"http://user%C3%9F%C2%A3info@host:80/a%E2%82%ACpath?qu%C2%A9%C2%AEery#fr%C3%A4%C3%A8g"),
// escaped octets for unicode chars
new URI(
"ascheme://user\u00DF\u00A3info@host:0/a\u20ACpath?qu\u00A9\u00AEery#fr\u00E4\u00E8g"),
// multiple arg constructors
new URI("http", "user%60%20info", "host", 80,
"/a%20path", "qu%60%20ery", "fr%5E%20ag"),
// escaped octets for illegal
new URI("http", "user%C3%9F%C2%A3info", "host", -1,
"/a%E2%82%ACpath", "qu%C2%A9%C2%AEery",
"fr%C3%A4%C3%A8g"),
// escaped octets for unicode
new URI("ascheme", "user\u00DF\u00A3info", "host", 80,
"/a\u20ACpath", "qu\u00A9\u00AEery",
"fr\u00E4\u00E8g"),
new URI("http", "user` info", "host", 81, "/a path",
"qu` ery", "fr^ ag"), // illegal chars
new URI("http", "user%info", "host", 0, "/a%path",
"que%ry", "f%rag"),
// % as illegal char, not escaped octet urls with
// undefined components
new URI("mailto", "user@domain.com", null),
// no host, path, query or fragment
new URI("../adirectory/file.html#"),
// relative path with empty fragment;
new URI("news", "comp.infosystems.www.servers.unix",
null),
new URI(null, null, null, "fragment"),
// only fragment
new URI("telnet://server.org"), // only host
new URI("http://reg:istry?query"),
// malformed hostname, therefore registry-based,
// with query
new URI("file:///c:/temp/calculate.pl?")
// empty authority, non empty path, empty query
};
} catch (URISyntaxException e) {
fail("Unexpected Exception:" + e);
}
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, Arrays.equals(
(URI[]) objToSave, (URI[]) objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_URISyntaxException() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.net.URISyntaxException)
URISyntaxException objToSave = null;
URISyntaxException objLoaded = null;
try {
objToSave = new URISyntaxException("str", "problem", 4);
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = (URISyntaxException) dumpAndReload(objToSave);
boolean equals = objToSave.getMessage().equals(
objLoaded.getMessage())
&& objToSave.getInput().equals(objLoaded.getInput())
&& objToSave.getIndex() == objLoaded.getIndex()
&& objToSave.getReason().equals(objLoaded.getReason());
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, equals);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_Currency() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.util.Currency)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = java.util.Currency.getInstance("AMD");
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
// we need same instance for the same currency code
assertTrue(MSG_TEST_FAILED + objToSave, objToSave == objToSave);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
@KnownFailure("deserialization of a date fomat field seems to fail")
public void test_writeObject_DateFormat_Field() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.DateFormat.Field)
DateFormat.Field[] objToSave = null;
DateFormat.Field[] objLoaded = null;
try {
objToSave = new DateFormat.Field[] { DateFormat.Field.AM_PM,
DateFormat.Field.DAY_OF_MONTH, DateFormat.Field.ERA,
DateFormat.Field.HOUR0, DateFormat.Field.HOUR1,
DateFormat.Field.HOUR_OF_DAY0,
DateFormat.Field.HOUR_OF_DAY1, DateFormat.Field.TIME_ZONE,
DateFormat.Field.YEAR,
DateFormat.Field.DAY_OF_WEEK_IN_MONTH };
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = (DateFormat.Field[]) dumpAndReload(objToSave);
// Has to have worked
// we need same instances for the same field names
for (int i = 0; i < objToSave.length; i++) {
assertTrue(MSG_TEST_FAILED + objToSave[i],
objToSave[i] == objLoaded[i]);
}
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
@KnownFailure("deserialization of a number fomat field seems to fail")
public void test_writeObject_NumberFormat_Field() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.NumberFormat.Field)
NumberFormat.Field[] objToSave = null;
NumberFormat.Field[] objLoaded = null;
try {
objToSave = new NumberFormat.Field[] { NumberFormat.Field.CURRENCY,
NumberFormat.Field.DECIMAL_SEPARATOR,
NumberFormat.Field.EXPONENT,
NumberFormat.Field.EXPONENT_SIGN,
NumberFormat.Field.EXPONENT_SYMBOL,
NumberFormat.Field.FRACTION,
NumberFormat.Field.GROUPING_SEPARATOR,
NumberFormat.Field.INTEGER, NumberFormat.Field.PERCENT,
NumberFormat.Field.PERMILLE, NumberFormat.Field.SIGN };
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = (NumberFormat.Field[]) dumpAndReload(objToSave);
// Has to have worked
// we need same instances for the same field names
for (int i = 0; i < objToSave.length; i++) {
assertTrue(MSG_TEST_FAILED + objToSave[i],
objToSave[i] == objLoaded[i]);
}
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_MessageFormat_Field() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.text.MessageFormat.Field)
Object objToSave = null;
Object objLoaded = null;
try {
objToSave = MessageFormat.Field.ARGUMENT;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
// we need same instance for the same field name
assertTrue(MSG_TEST_FAILED + objToSave, objToSave == objLoaded);
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_LinkedHashMap() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Object)
Object objToSave = null;
Object objLoaded;
try {
objToSave = LINKEDMAP;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, LINKEDMAP.equals(objLoaded));
Map mapLoaded = (Map) objLoaded;
Iterator loadedIterator = mapLoaded.keySet().iterator();
Iterator iterator = LINKEDMAP.keySet().iterator();
while (loadedIterator.hasNext()) {
assertTrue("invalid iterator order", loadedIterator.next()
.equals(iterator.next()));
}
assertTrue("invalid iterator size", !iterator.hasNext());
loadedIterator = mapLoaded.entrySet().iterator();
iterator = LINKEDMAP.entrySet().iterator();
while (loadedIterator.hasNext()) {
assertTrue("invalid entry set iterator order", loadedIterator
.next().equals(iterator.next()));
}
assertTrue("invalid entry set iterator size", !iterator.hasNext());
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_LinkedHashSet() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Object)
Object objToSave = null;
Object objLoaded;
try {
objToSave = LINKEDSET;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = dumpAndReload(objToSave);
// Has to have worked
assertTrue(MSG_TEST_FAILED + objToSave, LINKEDSET.equals(objLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "Verifies serialization.",
method = "!Serialization",
args = {}
)
public void test_writeObject_IdentityHashMap() {
// Test for method void
// java.io.ObjectOutputStream.writeObject(java.lang.Object)
IdentityHashMap objToSave = null;
IdentityHashMap objLoaded;
try {
objToSave = IDENTITYMAP;
if (DEBUG)
System.out.println("Obj = " + objToSave);
objLoaded = (IdentityHashMap) dumpAndReload(objToSave);
// Has to have worked
// a serialized identity hash map will not be equal to its original
// because it is an "identity" mapping,
// so we simply check for the usual meaning of equality
assertEquals(
"Loaded IdentityHashMap is not of the same size as the saved one.",
objToSave.size(), objLoaded.size());
HashMap duplicateSaved = new HashMap();
duplicateSaved.putAll(objToSave);
HashMap duplicateLoaded = new HashMap();
duplicateLoaded.putAll(objLoaded);
assertTrue(MSG_TEST_FAILED + duplicateSaved, duplicateSaved
.equals(duplicateLoaded));
} catch (IOException e) {
fail("Exception serializing " + objToSave + " : " + e.getMessage());
} catch (ClassNotFoundException e) {
fail("ClassNotFoundException reading Object type: "
+ e.getMessage());
} catch (Error err) {
System.out.println("Error when obj = " + objToSave);
// err.printStackTrace();
throw err;
}
}
}