blob: d32d1e02d1a53bf93f5aa953a0d571bbbd5d1f66 [file] [log] [blame]
package org.mockitoutil;
import java.io.*;
import static junit.framework.TestCase.assertNotNull;
public abstract class SimpleSerializationUtil {
//TODO use widely
@SuppressWarnings("unchecked")
public static <T> T serializeAndBack(T obj) throws Exception {
ByteArrayOutputStream os = serializeMock(obj);
return (T) deserializeMock(os, Object.class);
}
public static <T> T deserializeMock(ByteArrayOutputStream serialized, Class<T> type) throws IOException,
ClassNotFoundException {
InputStream unserialize = new ByteArrayInputStream(serialized.toByteArray());
return deserializeMock(unserialize, type);
}
public static <T> T deserializeMock(InputStream unserialize, Class<T> type) throws IOException, ClassNotFoundException {
Object readObject = new ObjectInputStream(unserialize).readObject();
assertNotNull(readObject);
return type.cast(readObject);
}
public static ByteArrayOutputStream serializeMock(Object mock) throws IOException {
ByteArrayOutputStream serialized = new ByteArrayOutputStream();
new ObjectOutputStream(serialized).writeObject(mock);
return serialized;
}
}