Package net.timewalker.ffmq3.test.common.message

Source Code of net.timewalker.ffmq3.test.common.message.MessageSerializerTest

package net.timewalker.ffmq3.test.common.message;

import junit.framework.TestCase;
import net.timewalker.ffmq3.common.message.AbstractMessage;
import net.timewalker.ffmq3.common.message.MessageSerializer;
import net.timewalker.ffmq3.test.utils.factory.MessageCreator;
import net.timewalker.ffmq3.utils.RawDataBuffer;

/**
* MessageSerializerTest
*/
public class MessageSerializerTest extends TestCase
{
    private static final int MSG_SIZE = 100;
   
    private byte[] serialize( AbstractMessage message ) throws Exception
    {
        RawDataBuffer buffer = new RawDataBuffer(1024);
        MessageSerializer.serializeTo(message, buffer);
        return buffer.toByteArray();
    }
   
    private AbstractMessage unserialize( byte[] data ) throws Exception
    {
        RawDataBuffer buffer = new RawDataBuffer(data);
        return MessageSerializer.unserializeFrom(buffer, false);
    }
   
//    private void assertEquals( byte[] data1 , byte[] data2 )
//    {
//        assertEquals(data1.length,data2.length);
//        for (int n = 0 ; n < data1.length ; n++)
//            assertEquals(data1[n], data2[n]);
//    }
   
//    private void dump( byte[] data )
//    {
//        System.out.print("{");
//        for (int n = 0 ; n < data.length ; n++)
//            System.out.print(" "+data[n]);
//        System.out.println(" }");
//    }
   
    private long sum( byte[] data )
    {
        long sum = 0;
        for (int n = 0 ; n < data.length ; n++)
            sum += data[n];
        return sum;
    }
   
    private void consistencyTest( AbstractMessage msg ) throws Exception
    {
        byte[] data1 = serialize(msg);
        AbstractMessage msg2 = unserialize(data1);
        byte[] data2 = serialize(msg2);
//        System.out.println(msg);
//        System.out.println(msg2);
//        dump(data1);
//        dump(data2);
        assertEquals(sum(data1),sum(data2));
    }
   
    public void testEmptyMessageSerialization() throws Exception
    {
        consistencyTest(MessageCreator.createEmptyMessage());
    }
   
    public void testBytesMessageSerialization() throws Exception
    {
        consistencyTest(MessageCreator.createBytesMessage(MSG_SIZE));
    }
   
    public void testMapMessageSerialization() throws Exception
    {
        consistencyTest(MessageCreator.createMapMessage(MSG_SIZE));
    }
   
    public void testObjectMessageSerialization() throws Exception
    {
        consistencyTest(MessageCreator.createObjectMessage(MSG_SIZE));
    }
   
    public void testStreamMessageSerialization() throws Exception
    {
        consistencyTest(MessageCreator.createStreamMessage(MSG_SIZE));
    }
   
    public void testTextMessageSerialization() throws Exception
    {
        consistencyTest(MessageCreator.createTextMessage(MSG_SIZE));
    }
}
TOP

Related Classes of net.timewalker.ffmq3.test.common.message.MessageSerializerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.