/**************************************************************************
* 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.*;
import java.util.Arrays;
public class TEST_ObjectOutputStream_InnerClass_Values_Private extends Mv_Assert {
private SAMPLE_ObjectStream_OuterClass outerClass,outerClassAfter;
private SAMPLE_ObjectStream_A check, original;
private Object object;
private ObjectInputStream ois;
private ByteArrayInputStream bais;
private ByteArrayOutputStream baos;
private ObjectOutputStream oos;
private byte[] output;
private final static double DELTA=0.000001;
public TEST_ObjectOutputStream_InnerClass_Values_Private() {
super();
outerClass=SAMPLE_SerialObject.getOuterClass();
original = outerClass.pric;
}
public void setUp() {
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());
}
outerClassAfter = (SAMPLE_ObjectStream_OuterClass)object;
check = outerClassAfter.pric;
}
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() {
assertEqual( check.getTestByte(), original.getTestByte());
assertEqual (check.getTestInt(), original.getTestInt());
assertApproximatelyEqual( check.getTestFloat(), original.getTestFloat(), DELTA);
assertEqual( check.getTestChar(), original.getTestChar());
assertEqual(check.getTestShort(), original.getTestShort());
assertEqual(check.getTestLong(), original.getTestLong());
assertApproximatelyEqual(check.getTestDouble(), original.getTestDouble(),DELTA);
assertTrue("boolean values are not equal",check.getTestBoolean() == original.getTestBoolean());
assertTrue(check.getTransientInt()==0);
assertTrue(check.getVolatileInt()==original.getVolatileInt());
assertTrue(check.getD().toString().equals(original.getD().toString()));
assertNull(check.getTransientD());
}
}