package hdgl.db.server.bsp; import static org.junit.Assert.*; import hdgl.db.protocol.MessagePackWritable; import hdgl.db.protocol.MessageWritable; import hdgl.util.WritableHelper; import org.junit.Test; public class MessageTest { @Test public void test() { MessageWritable msg = new MessageWritable(); msg.add(1, new long[]{1,2,3}); msg.add(2, new long[]{2,3,4}); byte[] data = WritableHelper.toBytes(msg); MessageWritable other=WritableHelper.parse(data, MessageWritable.class); assertEquals(2, other.size()); for(int i=0;i<other.size();i++){ assertEquals(msg.getState(i), other.getState(i)); assertArrayEquals(msg.getPath(i), other.getPath(i)); } MessagePackWritable msgPack=new MessagePackWritable(); msgPack.add(1, msg); MessagePackWritable other2 = WritableHelper.parse(WritableHelper.toBytes(msgPack), MessagePackWritable.class); assertEquals(msgPack.size(), other2.size()); for(int j=0;j<other2.size();j++){ other = other2.getMessage(j); for(int i=0;i<other.size();i++){ assertEquals(msg.getState(i), other.getState(i)); assertArrayEquals(msg.getPath(i), other.getPath(i)); } } } }