/**************************************************************************
* Copyright (c) 2001 by Acunia N.V. All rights reserved. *
* *
* This software is copyrighted by and is the sole property of Acunia N.V. *
* and its licensors, if any. All rights, title, ownership, or other *
* interests in the software remain the property of Acunia N.V. and its *
* licensors, if any. *
* *
* This software may only be used in accordance with the corresponding *
* license agreement. Any unauthorized use, duplication, transmission, *
* distribution or disclosure of this software is expressly forbidden. *
* *
* This Copyright notice may not be removed or modified without prior *
* written consent of Acunia N.V. *
* *
* Acunia N.V. reserves the right to modify this software without notice. *
* *
* Acunia N.V. *
* Vanden Tymplestraat 35 info@acunia.com *
* 3000 Leuven http://www.acunia.com *
* Belgium - EUROPE *
**************************************************************************/
package gnu.testlet.Junittests.io;
import java.io.*;
import gnu.testlet.*;
public class TEST_ObjectOutputStream_InnerClass_Instanceof extends Mv_Assert {
private SAMPLE_ObjectStream_OuterClass outerClassAfter, outerClass;
private Object object;
private byte[] output;
private ObjectInputStream ois;
private ByteArrayInputStream bais;
private ByteArrayOutputStream baos;
private ObjectOutputStream oos;
public TEST_ObjectOutputStream_InnerClass_Instanceof() {
super();
}
public void setUp() {
outerClass=SAMPLE_SerialObject.getOuterClass();
openOutputStream();
try {
oos.writeObject(outerClass);
oos.flush();
}catch(IOException ioe) {
closeOutputStream();
fail(ioe.toString());
}
output = baos.toByteArray();
closeOutputStream();
openInputStream(output);
try {
object = ois.readObject();
}catch(Exception e) {
fail(e.toString());
}
}
public void tearDown() {
closeInputStream();
}
private void closeOutputStream() {
try {
baos.close();
} catch(IOException ioe) {
fail(ioe.toString());
}
}
private void openOutputStream() {
try {
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);
}catch(IOException ioe) {
ioe.printStackTrace();
fail("unexpected io exception occurred while setting up");
}
}
public void closeInputStream() {
try {
bais.close();
}catch(IOException ioe) {
fail("IO Exception while closing input stream");
}
}
private void openInputStream(byte [] data) {
try {
bais=new ByteArrayInputStream(data);
ois=new ObjectInputStream(bais);
}catch(IOException ioe) {
fail("openStream> "+ioe.toString());
return;
}
}
protected void runTest() {
assertTrue("read object not an instance of original",
object instanceof SAMPLE_ObjectStream_OuterClass);
outerClassAfter=(SAMPLE_ObjectStream_OuterClass)object;
assertTrue("read object not an instance of SAMPLE_ObjectStream_OuterClass.PublicInnerClass",
outerClassAfter.puic instanceof SAMPLE_ObjectStream_OuterClass.PublicInnerClass);
outerClassAfter=(SAMPLE_ObjectStream_OuterClass)object;
assertTrue("read object not an instance of SAMPLE_ObjectStream_OuterClass.PrivateInnerClass",
outerClassAfter.isInstanceOfPrivateInnerClass(outerClassAfter.pric));
}
}