package org.togglz.core.util;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.NotSerializableException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import org.junit.Test;
public class NamedFeatureTest {
@Test
public void serializable() throws IOException, ClassNotFoundException {
NamedFeature feature = new NamedFeature("SERIALIZABLE");
ByteArrayOutputStream os = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
try {
try {
oos.writeObject(feature);
InputStream is = new ByteArrayInputStream(os.toByteArray());
ObjectInputStream ois = new ObjectInputStream(is);
try {
Object deserializedFeature = ois.readObject();
assertEquals("NamedFeature was not correctly serialized/deserialized",
feature, deserializedFeature);
} finally {
is.close();
ois.close();
}
} catch (NotSerializableException e) {
fail("NamedFeature is not serializable");
}
} finally {
os.close();
oos.close();
}
}
}