1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.io;
19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.File;
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.IOException;
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.Serializable;
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.lang.reflect.InvocationHandler;
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.lang.reflect.Method;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.lang.reflect.Proxy;
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.net.URI;
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.net.URISyntaxException;
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.cert.Certificate;
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.DateFormat;
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.MessageFormat;
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.text.NumberFormat;
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.*;
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport tests.support.Support_Configuration;
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport tests.support.Support_Proxy_I1;
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes@SuppressWarnings( { "serial", "unused" })
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class SerializationStressTest4 extends SerializationStressTest {
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// -----------------------------------------------------------------------------------
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	private static class GuardImplementation implements java.security.Guard,
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			java.io.Serializable {
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		public GuardImplementation() {
45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		public void checkGuard(Object o) {
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public SerializationStressTest4(String name) {
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		super(name);
53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_EventObject() {
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.EventObject)
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.util.EventObject("Source");
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
70470c1f75f26d58eb33bbaa0d7e08ed2723f25647Elliott Hughes			equals = true;
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// The the only data in EventObject that
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// differentiates between instantiations is transient
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_EmptySet() {
88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.EmptySet)
90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.EMPTY_SET;
96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = objToSave.equals(objLoaded);
103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = ((Set) objLoaded).size() == 0;
105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_EmptyMap() {
121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.EmptySet)
123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.EMPTY_MAP;
129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = objToSave.equals(objLoaded);
136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = ((Map) objLoaded).size() == 0;
138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Character() {
154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Character)
156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.Character('c');
162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_UnmodifiableCollection() {
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.UnmodifiableCollection)
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = Collections.unmodifiableCollection(SET);
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((java.util.Collection) objToSave).size() == ((java.util.Collection) objLoaded)
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.size();
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals) {
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				java.util.Iterator iter1 = ((java.util.Collection) objToSave)
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.iterator(), iter2 = ((java.util.Collection) objLoaded)
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.iterator();
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				while (iter1.hasNext())
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					equals = equals && iter1.next().equals(iter2.next());
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Format() {
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.Format)
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = null;
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.text.Format() {
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				String save = "default";
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public StringBuffer format(Object p1, StringBuffer p2,
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						java.text.FieldPosition p3) {
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return new StringBuffer();
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public Object parseObject(String p1, java.text.ParsePosition p2) {
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (p1 != null)
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						save = p1;
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return save;
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean equals(Object obj) {
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (!(obj instanceof java.text.Format))
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						return false;
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return save.equals(((java.text.Format) obj).parseObject(
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes							null, null));
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			};
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.text.Format) objToSave).parseObject("Test", null);
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_BigDecimal() {
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.math.BigDecimal)
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.math.BigDecimal("1.2345");
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_SecureRandomSpi() {
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.security.SecureRandomSpi)
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = null;
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.security.SecureRandomSpi() {
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				protected byte[] engineGenerateSeed(int p1) {
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return new byte[0];
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				protected void engineNextBytes(byte[] p1) {
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				protected void engineSetSeed(byte[] p1) {
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean equals(Object obj) {
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return true;
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			};
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Short() {
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Short)
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.Short((short) 107);
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Byte() {
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Byte)
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.Byte((byte) 107);
380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	@SuppressWarnings("unchecked")
400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_writeObject_String_CaseInsensitiveComparator() {
401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.String.CaseInsensitiveComparator)
403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.lang.String.CASE_INSENSITIVE_ORDER;
409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((Comparator) objToSave).compare("apple", "Banana") == ((Comparator) objLoaded)
416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.compare("apple", "Banana");
417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Calendar() {
433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Calendar)
435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.util.Calendar(TimeZone.getTimeZone("EST"),
441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					Locale.CANADA) {
442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public void add(int p1, int p2) {
443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				protected void computeFields() {
446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				protected void computeTime() {
449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public int getGreatestMinimum(int p1) {
452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return 0;
453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public int getLeastMaximum(int p1) {
456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return 0;
457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public int getMaximum(int p1) {
460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return 0;
461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public int getMinimum(int p1) {
464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return 0;
465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public void roll(int p1, boolean p2) {
468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			};
470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + "Calendar", objToSave
476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.equals(objLoaded));
477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_StringBuffer() {
491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.StringBuffer)
493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.StringBuffer("This is a test.");
499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((java.lang.StringBuffer) objToSave).toString().equals(
506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					((java.lang.StringBuffer) objLoaded).toString());
507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_File() {
522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.io.File)
524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new File("afile.txt");
530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_BitSet() {
551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.BitSet)
553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.util.BitSet();
559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.util.BitSet) objToSave).set(3);
560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.util.BitSet) objToSave).set(5);
561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.util.BitSet) objToSave).set(61, 89);
562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_DateFormat() {
583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.DateFormat)
585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = null;
591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.text.DateFormat() {
592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				// Thu Feb 01 01:01:01 EST 2001
593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				java.util.Date save = new java.util.Date(981007261000L);
594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public StringBuffer format(Date p1, StringBuffer p2,
596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						java.text.FieldPosition p3) {
597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (p1 != null)
598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						save = p1;
599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return new StringBuffer(Long.toString(save.getTime()));
600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public Date parse(String p1, java.text.ParsePosition p2) {
603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return save;
604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public String toString() {
607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return save.toString();
608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean equals(Object obj) {
611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (!(obj instanceof java.text.DateFormat))
612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						return false;
613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return save.equals(((java.text.DateFormat) obj).parse(null,
614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes							null));
615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			};
617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_CopiesList() {
637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.CopiesList)
639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.nCopies(2, new Integer(2));
645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((List) objToSave).get(0)
652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.equals(((List) objLoaded).get(0));
653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = ((List) objToSave).get(1).equals(
655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						((List) objLoaded).get(1));
656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Properties() {
672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Properties)
674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.util.Properties();
680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.util.Properties) objToSave).put("key1", "value1");
681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.util.Properties) objToSave).put("key2", "value2");
682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Enumeration enum1 = ((java.util.Properties) objToSave).elements(), enum2 = ((java.util.Properties) objLoaded)
689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.elements();
690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = true;
692561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			while (enum1.hasMoreElements() && equals) {
693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				if (enum2.hasMoreElements())
694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					equals = enum1.nextElement().equals(enum2.nextElement());
695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				else
696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					equals = false;
697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = !enum2.hasMoreElements();
701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_UnmodifiableMap_UnmodifiableEntrySet() {
717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet)
719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.unmodifiableMap(MAP).entrySet();
725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((java.util.Collection) objToSave).size() == ((java.util.Collection) objLoaded)
732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.size();
733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals) {
734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				java.util.Iterator iter1 = ((java.util.Collection) objToSave)
735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.iterator(), iter2 = ((java.util.Collection) objLoaded)
736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.iterator();
737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				while (iter1.hasNext())
738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					equals = equals && iter1.next().equals(iter2.next());
739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_NumberFormat() {
756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.NumberFormat)
758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = null;
764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.text.NumberFormat() {
765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				long save = 107;
766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public StringBuffer format(double p1, StringBuffer p2,
768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						java.text.FieldPosition p3) {
769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return new StringBuffer();
770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public StringBuffer format(long p1, StringBuffer p2,
773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						java.text.FieldPosition p3) {
774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (p1 != 0)
775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						save = p1;
776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return new StringBuffer(Long.toString(save));
777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public Number parse(String p1, java.text.ParsePosition p2) {
780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return new Long(save);
781561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
782561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
783561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean equals(Object obj) {
784561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (!(obj instanceof java.text.NumberFormat))
785561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						return false;
786561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return save == ((Long) ((java.text.NumberFormat) obj)
787561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes							.parse(null, null)).longValue();
788561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
789561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			};
790561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
791561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.text.NumberFormat) objToSave).format(63L, null, null);
792561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
793561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
794561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
795561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
796561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
797561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
798561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
799561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
800561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
801561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
802561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
803561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
804561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
805561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
806561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
807561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
808561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
809561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
810561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
811561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_TimeZone() {
812561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
813561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.TimeZone)
814561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
815561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
816561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
817561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
818561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
819561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = null;
820561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.util.TimeZone() {
821561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				int save = 0;
822561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
823561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public int getOffset(int p1, int p2, int p3, int p4, int p5,
824561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						int p6) {
825561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return 0;
826561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
827561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
828561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public int getRawOffset() {
829561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return save;
830561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
831561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
832561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean inDaylightTime(java.util.Date p1) {
833561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return false;
834561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
835561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
836561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public void setRawOffset(int p1) {
837561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					save = p1;
838561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
839561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
840561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean useDaylightTime() {
841561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return false;
842561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
843561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
844561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean equals(Object obj) {
845561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (obj instanceof TimeZone)
846561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						return save == ((TimeZone) obj).getRawOffset();
847561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return false;
848561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
849561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			};
850561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
851561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.util.TimeZone) objToSave).setRawOffset(48);
852561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
853561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
854561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
855561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
856561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
857561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
858561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
859561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
860561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
861561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
862561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
863561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
864561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
865561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
866561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
867561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
868561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
869561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
870561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
871561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
872561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Double() {
873561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
874561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Double)
875561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
876561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
877561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
878561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
879561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
880561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.Double(1.23);
881561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
882561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
883561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
884561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
885561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
886561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
887561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
888561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
889561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
890561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
891561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
892561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
893561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
894561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
895561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
896561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
897561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
898561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
899561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
900561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Number() {
901561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
902561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Number)
903561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
904561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
905561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
906561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
907561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
908561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = null;
909561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new Number() {
910561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				int numCalls = 0;
911561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
912561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public double doubleValue() {
913561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return ++numCalls;
914561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
915561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
916561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public float floatValue() {
917561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return ++numCalls;
918561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
919561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
920561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public int intValue() {
921561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return numCalls;
922561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
923561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
924561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public long longValue() {
925561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return ++numCalls;
926561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
927561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
928561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				public boolean equals(Object obj) {
929561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					if (!(obj instanceof java.lang.Number))
930561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						return false;
931561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					return intValue() == ((Number) obj).intValue();
932561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				}
933561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			};
934561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.lang.Number) objToSave).doubleValue();
935561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((java.lang.Number) objToSave).floatValue();
936561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
937561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
938561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
939561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
940561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
941561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
942561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
943561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("IOException serializing " + objToSave + " : "
944561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
945561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
946561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type : "
947561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
948561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
949561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
950561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
951561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
952561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
953561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
954561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
955561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
956d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes	public void test_writeObject_Collections_ReverseComparator() {
957561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
958d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.ReverseComparator)
959561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
960561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
961561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
962561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
963561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
964d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			objToSave = java.util.Collections.reverseOrder();
965561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
966561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
967561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
968561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
969561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
970d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			boolean equals;
971d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			equals = ((Comparator) objToSave).compare("Hello", "Jello") == ((Comparator) objLoaded)
972d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes					.compare("Hello", "Jello");
973d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
974561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
975d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			fail("IOException serializing " + objToSave + " : "
976d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes					+ e.getMessage());
977561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
978d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			fail("ClassNotFoundException reading Object type : "
979561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
980561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
981561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
982561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
983561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
984561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
985561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
986561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
987561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
988d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes	public void test_writeObject_DateFormatSymbols() {
989561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
990d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.DateFormatSymbols)
991561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
992561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
993561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
994561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
995561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
996d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			objToSave = new java.text.DateFormatSymbols(Locale.CHINESE);
997d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes			((java.text.DateFormatSymbols) objToSave)
998d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes					.setZoneStrings(new String[][] { { "a", "b", "c", "d" },
999d81553c5788bae814e44e8e40df1e79b1aaaf618Elliott Hughes							{ "e", "f", "g", "h" } });
1000561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1001561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1002561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1003561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1004561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1005561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1006561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1007561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1008561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1009561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1010561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1011561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1012561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1013561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1014561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1015561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1016561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1017561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1018561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1019561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_EmptyList() {
1020561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1021561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.EmptyList)
1022561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1023561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1024561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1025561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1026561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1027561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.EMPTY_LIST;
1028561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1029561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1030561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1031561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1032561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1033561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1034561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = objToSave.equals(objLoaded);
1035561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
1036561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = ((List) objLoaded).size() == 0;
1037561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1038561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1039561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1040561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1041561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1042561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1043561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1044561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1045561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1046561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1047561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1048561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1049561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1050561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1051561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Boolean() {
1052561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1053561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Boolean)
1054561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1055561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1056561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1057561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1058561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1059561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.Boolean(true);
1060561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1061561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1062561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1063561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1064561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1065561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1066561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1067561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1068561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1069561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1070561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1071561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1072561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1073561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1074561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1075561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1076561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1077561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1078561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1079561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_SingletonSet() {
1080561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1081561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.SingletonSet)
1082561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1083561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1084561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1085561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1086561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1087561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.singleton(new Byte((byte) 107));
1088561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1089561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1090561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1091561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1092561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1093561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1094561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			java.util.Iterator iter = ((Set) objLoaded).iterator();
1095561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = iter.hasNext();
1096561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
1097561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = iter.next().equals(new Byte((byte) 107));
1098561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
1099561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = !iter.hasNext();
1100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_SingletonList() {
1115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.SingletonSet)
1117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections
1123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.singletonList(new Byte((byte) 107));
1124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			java.util.Iterator iter = ((List) objLoaded).iterator();
1131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = objLoaded.equals(objToSave) && iter.hasNext()
1132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					&& iter.next().equals(new Byte((byte) 107))
1133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					&& !iter.hasNext();
1134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_SingletonMap() {
1149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.SingletonSet)
1151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.singletonMap("key", new Byte(
1157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					(byte) 107));
1158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			java.util.Iterator iter = ((Map) objLoaded).entrySet().iterator();
1165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = objLoaded.equals(objToSave) && iter.hasNext();
1166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Map.Entry entry = (Map.Entry) iter.next();
1167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = equals && entry.getKey().equals("key")
1168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					&& entry.getValue().equals(new Byte((byte) 107))
1169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					&& !iter.hasNext();
1170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_SecureRandom() {
1185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.security.SecureRandom)
1187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.security.SecureRandom();
1193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = true; // assume fine because of the nature of the class,
1200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// it is difficult to determine if they are the same
1201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_InetAddress() {
1216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.net.InetAddress)
1218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1223470c1f75f26d58eb33bbaa0d7e08ed2723f25647Elliott Hughes			objToSave = java.net.InetAddress.getByName("127.0.0.1");
1224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Inet6Address() {
1244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.net.Inet6Address)
1246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1251470c1f75f26d58eb33bbaa0d7e08ed2723f25647Elliott Hughes			objToSave = java.net.Inet6Address.getByName("fe80::20d:60ff:fe24:7410");
1252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Date() {
1273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Date)
1275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Thu Feb 01 01:01:01 EST 2001
1281470c1f75f26d58eb33bbaa0d7e08ed2723f25647Elliott Hughes			objToSave = new java.util.Date(981007261000L);
1282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Float() {
1302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Float)
1304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.Float(1.23f);
1310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void test_writeObject_Stack() {
1330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Stack)
1332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.util.Stack();
1338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((Stack) objToSave).push("String 1");
1339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			((Stack) objToSave).push("String 2");
1340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = true;
1347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			while (!((java.util.Stack) objToSave).empty() && equals) {
1348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				if (!((java.util.Stack) objLoaded).empty())
1349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					equals = ((java.util.Stack) objToSave).pop().equals(
1350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes							((java.util.Stack) objLoaded).pop());
1351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				else
1352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					equals = false;
1353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals)
1356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				equals = ((java.util.Stack) objLoaded).empty();
1357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_DecimalFormatSymbols() {
1372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.DecimalFormatSymbols)
1374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.text.DecimalFormatSymbols(Locale.CHINESE);
1380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_AttributedCharacterIterator_Attribute() {
1400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.AttributedCharacterIterator.Attribute)
1402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.text.AttributedCharacterIterator.Attribute.LANGUAGE;
1408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Long() {
1427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Long)
1429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.lang.Long(107L);
1435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave.equals(objLoaded));
1441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Collections_SynchronizedCollection() {
1455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Collections.SynchronizedCollection)
1457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Collections.synchronizedCollection(SET);
1463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((java.util.Collection) objToSave).size() == ((java.util.Collection) objLoaded)
1470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.size();
1471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (equals) {
1472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				java.util.Iterator iter1 = ((java.util.Collection) objToSave)
1473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.iterator(), iter2 = ((java.util.Collection) objLoaded)
1474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.iterator();
1475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				while (iter1.hasNext())
1476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					equals = equals && iter1.next().equals(iter2.next());
1477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Random() {
1493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Random)
1495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.util.Random(107L);
1501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((java.util.Random) objToSave).nextInt() == ((java.util.Random) objLoaded)
1508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.nextInt();
1509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_GuardedObject() {
1524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.security.GuardedObject)
1526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new java.security.GuardedObject("Test Object",
1532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					new GuardImplementation());
1533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals;
1539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			equals = ((java.security.GuardedObject) objToSave).getObject()
1540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.equals(
1541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes							((java.security.GuardedObject) objLoaded)
1542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes									.getObject());
1543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// TODO : Reintroduce when we have a working security implementation
1558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// public void test_writeObject_KeyPair() {
1559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// // Test for method void
1560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// // java.io.ObjectOutputStream.writeObject(java.security.GuardedObject)
1561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	//
1562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// Object objToSave = null;
1563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// Object objLoaded = null;
1564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	//
1565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// try {
1566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// objToSave = new java.security.KeyPair(null, null);
1567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// if (DEBUG)
1568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// System.out.println("Obj = " + objToSave);
1569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// objLoaded = dumpAndReload(objToSave);
1570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	//
1571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// // Has to have worked
1572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// boolean equals;
1573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// equals = true;
1574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// assertTrue(MSG_TEST_FAILED + objToSave, equals);
1575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// } catch (IOException e) {
1576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// fail("IOException serializing " + objToSave + " : "
1577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// + e.getMessage());
1578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// } catch (ClassNotFoundException e) {
1579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// fail("ClassNotFoundException reading Object type : " + e.getMessage());
1580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// } catch (Error err) {
1581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// System.out.println("Error when obj = " + objToSave);
1582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// // err.printStackTrace();
1583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// throw err;
1584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// }
1585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	// }
1586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	static class MyInvocationHandler implements InvocationHandler, Serializable {
1588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		public Object invoke(Object proxy, Method method, Object[] args)
1589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				throws Throwable {
1590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (method.getName().equals("equals"))
1591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				return new Boolean(proxy == args[0]);
1592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (method.getName().equals("array"))
1593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				return new int[] { (int) ((long[]) args[0])[1], -1 };
1594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (method.getName().equals("string")) {
1595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				if ("error".equals(args[0]))
1596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					throw new ArrayStoreException();
1597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				if ("any".equals(args[0]))
1598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					throw new IllegalAccessException();
1599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			return null;
1601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Proxy() {
1605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.security.GuardedObject)
1607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = Proxy.getProxyClass(Support_Proxy_I1.class
1613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.getClassLoader(), new Class[] { Support_Proxy_I1.class });
1614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + "not a proxy class", Proxy
1619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.isProxyClass((Class) objLoaded));
1620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Class[] interfaces = ((Class) objLoaded).getInterfaces();
1621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + "wrong interfaces length",
1622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					interfaces.length == 1);
1623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + "wrong interface",
1624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					interfaces[0] == Support_Proxy_I1.class);
1625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			InvocationHandler handler = new MyInvocationHandler();
1627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = Proxy.newProxyInstance(Support_Proxy_I1.class
1628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.getClassLoader(), new Class[] { Support_Proxy_I1.class },
1629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					handler);
1630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals = Proxy.getInvocationHandler(objLoaded).getClass() == MyInvocationHandler.class;
1635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_URI() {
1650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.net.URI)
1652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			try {
1658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				objToSave = new URI[] {
1659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// single arg constructor
1660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI(
1661470c1f75f26d58eb33bbaa0d7e08ed2723f25647Elliott Hughes								"http://user%60%20info@host/a%20path?qu%60%20ery#fr%5E%20ag"),
1662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// escaped octets for illegal chars
1663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI(
1664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"http://user%C3%9F%C2%A3info@host:80/a%E2%82%ACpath?qu%C2%A9%C2%AEery#fr%C3%A4%C3%A8g"),
1665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// escaped octets for unicode chars
1666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI(
1667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"ascheme://user\u00DF\u00A3info@host:0/a\u20ACpath?qu\u00A9\u00AEery#fr\u00E4\u00E8g"),
1668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// multiple arg constructors
1669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("http", "user%60%20info", "host", 80,
1670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"/a%20path", "qu%60%20ery", "fr%5E%20ag"),
1671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// escaped octets for illegal
1672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("http", "user%C3%9F%C2%A3info", "host", -1,
1673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"/a%E2%82%ACpath", "qu%C2%A9%C2%AEery",
1674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"fr%C3%A4%C3%A8g"),
1675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// escaped octets for unicode
1676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("ascheme", "user\u00DF\u00A3info", "host", 80,
1677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"/a\u20ACpath", "qu\u00A9\u00AEery",
1678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"fr\u00E4\u00E8g"),
1679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("http", "user` info", "host", 81, "/a path",
1680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"qu` ery", "fr^ ag"), // illegal chars
1681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("http", "user%info", "host", 0, "/a%path",
1682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								"que%ry", "f%rag"),
1683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// % as illegal char, not escaped octet urls with
1684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// undefined components
1685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("mailto", "user@domain.com", null),
1686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// no host, path, query or fragment
1687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("../adirectory/file.html#"),
1688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// relative path with empty fragment;
1689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("news", "comp.infosystems.www.servers.unix",
1690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes								null),
1691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI(null, null, null, "fragment"),
1692470c1f75f26d58eb33bbaa0d7e08ed2723f25647Elliott Hughes						// only fragment
1693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("telnet://server.org"), // only host
1694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("http://reg:istry?query"),
1695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// malformed hostname, therefore registry-based,
1696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// with query
1697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						new URI("file:///c:/temp/calculate.pl?")
1698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						// empty authority, non empty path, empty query
1699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				};
1700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			} catch (URISyntaxException e) {
1701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				fail("Unexpected Exception:" + e);
1702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, Arrays.equals(
1709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					(URI[]) objToSave, (URI[]) objLoaded));
1710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_URISyntaxException() {
1723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.net.URISyntaxException)
1725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		URISyntaxException objToSave = null;
1727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		URISyntaxException objLoaded = null;
1728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new URISyntaxException("str", "problem", 4);
1731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = (URISyntaxException) dumpAndReload(objToSave);
1734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			boolean equals = objToSave.getMessage().equals(
1736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					objLoaded.getMessage())
1737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					&& objToSave.getInput().equals(objLoaded.getInput())
1738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					&& objToSave.getIndex() == objLoaded.getIndex()
1739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					&& objToSave.getReason().equals(objLoaded.getReason());
1740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, equals);
1743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_Currency() {
1757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.util.Currency)
1759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = java.util.Currency.getInstance("AMD");
1765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// we need same instance for the same currency code
1771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave == objToSave);
1772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1781561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1782561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1783561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1784561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_DateFormat_Field() {
1785561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1786561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.DateFormat.Field)
1787561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1788561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		DateFormat.Field[] objToSave = null;
1789561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		DateFormat.Field[] objLoaded = null;
1790561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1791561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1792561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new DateFormat.Field[] { DateFormat.Field.AM_PM,
1793561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					DateFormat.Field.DAY_OF_MONTH, DateFormat.Field.ERA,
1794561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					DateFormat.Field.HOUR0, DateFormat.Field.HOUR1,
1795561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					DateFormat.Field.HOUR_OF_DAY0,
1796561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					DateFormat.Field.HOUR_OF_DAY1, DateFormat.Field.TIME_ZONE,
1797561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					DateFormat.Field.YEAR,
1798561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					DateFormat.Field.DAY_OF_WEEK_IN_MONTH };
1799561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1800561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1801561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1802561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = (DateFormat.Field[]) dumpAndReload(objToSave);
1803561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1804561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1805561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// we need same instances for the same field names
1806561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			for (int i = 0; i < objToSave.length; i++) {
1807561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				assertTrue(MSG_TEST_FAILED + objToSave[i],
1808561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						objToSave[i] == objLoaded[i]);
1809561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1810561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1811561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1812561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1813561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1814561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1815561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1816561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1817561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1818561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1819561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1820561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1821561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1822561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_NumberFormat_Field() {
1823561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1824561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.NumberFormat.Field)
1825561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1826561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		NumberFormat.Field[] objToSave = null;
1827561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		NumberFormat.Field[] objLoaded = null;
1828561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1829561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1830561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = new NumberFormat.Field[] { NumberFormat.Field.CURRENCY,
1831561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.DECIMAL_SEPARATOR,
1832561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.EXPONENT,
1833561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.EXPONENT_SIGN,
1834561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.EXPONENT_SYMBOL,
1835561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.FRACTION,
1836561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.GROUPING_SEPARATOR,
1837561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.INTEGER, NumberFormat.Field.PERCENT,
1838561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					NumberFormat.Field.PERMILLE, NumberFormat.Field.SIGN };
1839561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1840561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1841561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1842561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = (NumberFormat.Field[]) dumpAndReload(objToSave);
1843561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1844561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1845561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// we need same instances for the same field names
1846561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			for (int i = 0; i < objToSave.length; i++) {
1847561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				assertTrue(MSG_TEST_FAILED + objToSave[i],
1848561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						objToSave[i] == objLoaded[i]);
1849561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1850561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1851561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1852561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1853561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1854561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1855561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1856561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1857561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1858561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1859561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1860561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1861561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1862561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_MessageFormat_Field() {
1863561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1864561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.text.MessageFormat.Field)
1865561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1866561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1867561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded = null;
1868561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1869561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1870561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = MessageFormat.Field.ARGUMENT;
1871561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1872561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1873561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1874561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1875561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1876561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1877561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// we need same instance for the same field name
1878561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, objToSave == objLoaded);
1879561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1880561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1881561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1882561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1883561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1884561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1885561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1886561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1887561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1888561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1889561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1890561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1891561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_LinkedHashMap() {
1892561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1893561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Object)
1894561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1895561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1896561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded;
1897561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1898561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1899561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = LINKEDMAP;
1900561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1901561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1902561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1903561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1904561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, LINKEDMAP.equals(objLoaded));
1905561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1906561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Map mapLoaded = (Map) objLoaded;
1907561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Iterator loadedIterator = mapLoaded.keySet().iterator();
1908561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			Iterator iterator = LINKEDMAP.keySet().iterator();
1909561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			while (loadedIterator.hasNext()) {
1910561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				assertTrue("invalid iterator order", loadedIterator.next()
1911561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.equals(iterator.next()));
1912561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1913561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue("invalid iterator size", !iterator.hasNext());
1914561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1915561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			loadedIterator = mapLoaded.entrySet().iterator();
1916561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			iterator = LINKEDMAP.entrySet().iterator();
1917561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			while (loadedIterator.hasNext()) {
1918561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				assertTrue("invalid entry set iterator order", loadedIterator
1919561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes						.next().equals(iterator.next()));
1920561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			}
1921561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue("invalid entry set iterator size", !iterator.hasNext());
1922561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1923561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1924561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1925561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1926561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1927561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1928561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1929561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1930561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1931561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1932561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1933561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1934561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1935561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_LinkedHashSet() {
1936561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1937561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Object)
1938561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1939561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objToSave = null;
1940561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		Object objLoaded;
1941561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1942561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1943561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = LINKEDSET;
1944561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1945561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1946561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = dumpAndReload(objToSave);
1947561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1948561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + objToSave, LINKEDSET.equals(objLoaded));
1949561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1950561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1951561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1952561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1953561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1954561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1955561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1956561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1957561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1958561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1959561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1960561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
1961561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1962561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	public void test_writeObject_IdentityHashMap() {
1963561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// Test for method void
1964561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		// java.io.ObjectOutputStream.writeObject(java.lang.Object)
1965561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1966561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		IdentityHashMap objToSave = null;
1967561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		IdentityHashMap objLoaded;
1968561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1969561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		try {
1970561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objToSave = IDENTITYMAP;
1971561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			if (DEBUG)
1972561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes				System.out.println("Obj = " + objToSave);
1973561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			objLoaded = (IdentityHashMap) dumpAndReload(objToSave);
1974561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// Has to have worked
1975561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1976561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// a serialized identity hash map will not be equal to its original
1977561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// because it is an "identity" mapping,
1978561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// so we simply check for the usual meaning of equality
1979561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
1980561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertEquals(
1981561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					"Loaded IdentityHashMap is not of the same size as the saved one.",
1982561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					objToSave.size(), objLoaded.size());
1983561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			HashMap duplicateSaved = new HashMap();
1984561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			duplicateSaved.putAll(objToSave);
1985561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			HashMap duplicateLoaded = new HashMap();
1986561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			duplicateLoaded.putAll(objLoaded);
1987561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			assertTrue(MSG_TEST_FAILED + duplicateSaved, duplicateSaved
1988561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					.equals(duplicateLoaded));
1989561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (IOException e) {
1990561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("Exception serializing " + objToSave + " : " + e.getMessage());
1991561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (ClassNotFoundException e) {
1992561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			fail("ClassNotFoundException reading Object type: "
1993561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes					+ e.getMessage());
1994561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		} catch (Error err) {
1995561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			System.out.println("Error when obj = " + objToSave);
1996561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			// err.printStackTrace();
1997561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes			throw err;
1998561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes		}
1999561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes	}
2000561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
2001