39 lines
1.6 KiB
Java
39 lines
1.6 KiB
Java
|
|
/**
|
||
|
|
* Copyright (C) 2009 Scalable Solutions.
|
||
|
|
*/
|
||
|
|
|
||
|
|
package se.scalablesolutions.akka.api;
|
||
|
|
|
||
|
|
import junit.framework.TestCase;
|
||
|
|
import se.scalablesolutions.akka.serialization.SerializerFactory;
|
||
|
|
|
||
|
|
public class ProtobufSerializationTest extends TestCase {
|
||
|
|
public void testOutIn() throws Exception {
|
||
|
|
SerializerFactory factory = new SerializerFactory();
|
||
|
|
ProtobufProtocol.ProtobufPOJO pojo1 = ProtobufProtocol.ProtobufPOJO.getDefaultInstance().toBuilder().setId(1).setName("protobuf").setStatus(true).build();
|
||
|
|
|
||
|
|
byte[] bytes = factory.getProtobuf().out(pojo1);
|
||
|
|
Object obj = factory.getProtobuf().in(bytes, pojo1.getClass());
|
||
|
|
|
||
|
|
assertTrue(obj instanceof ProtobufProtocol.ProtobufPOJO);
|
||
|
|
ProtobufProtocol.ProtobufPOJO pojo2 = (ProtobufProtocol.ProtobufPOJO)obj;
|
||
|
|
assertEquals(pojo1.getId(), pojo2.getId());
|
||
|
|
assertEquals(pojo1.getName(), pojo2.getName());
|
||
|
|
assertEquals(pojo1.getStatus(), pojo2.getStatus());
|
||
|
|
}
|
||
|
|
|
||
|
|
public void testDeepClone() throws Exception {
|
||
|
|
SerializerFactory factory = new SerializerFactory();
|
||
|
|
ProtobufProtocol.ProtobufPOJO pojo1 = ProtobufProtocol.ProtobufPOJO.getDefaultInstance().toBuilder().setId(1).setName("protobuf").setStatus(true).build();
|
||
|
|
|
||
|
|
Object obj = factory.getProtobuf().deepClone(pojo1);
|
||
|
|
|
||
|
|
assertTrue(obj instanceof ProtobufProtocol.ProtobufPOJO);
|
||
|
|
ProtobufProtocol.ProtobufPOJO pojo2 = (ProtobufProtocol.ProtobufPOJO)obj;
|
||
|
|
assertEquals(pojo1.getId(), pojo2.getId());
|
||
|
|
assertEquals(pojo1.getName(), pojo2.getName());
|
||
|
|
assertEquals(pojo1.getStatus(), pojo2.getStatus());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|