Package freenet.io

Source Code of freenet.io.MessageTest

package freenet.io;

import freenet.io.comm.DMT;
import freenet.io.comm.Message;
import freenet.io.comm.MessageType;
import junit.framework.TestCase;

import java.util.Arrays;

/**
* Tests Message abilities.
*/
public class MessageTest extends TestCase {

  private static final String BOOLEAN = "boolean";
  private static final String BYTE = "byte";
  private static final String SHORT = "short";
  private static final String INT = "int";
  private static final String LONG = "long";
  private static final String DOUBLE = "double";
  private static final String FLOAT = "float";
  private static final String DOUBLE_ARRAY = "double[]";
  private static final String FLOAT_ARRAY = "float[]";

  private static final MessageType test = new MessageType("test", DMT.PRIORITY_LOW) {{
    addField(BOOLEAN, Boolean.class);
    addField(BYTE, Byte.class);
    addField(SHORT, Short.class);
    addField(INT, Integer.class);
    addField(LONG, Long.class);
    addField(DOUBLE, Double.class);
    addField(FLOAT, Float.class);
    addField(DOUBLE_ARRAY, double[].class);
    addField(FLOAT_ARRAY, float[].class);
  }};

  /**
   * Test that different types can be set and retrieved to and from a Message.
   */
  public void test() {
    Message msg = new Message(test);

    //Values used for testing.
    final boolean booleanVal = true;
    final byte byteVal = (byte)123;
    final short shortVal = (short)456;
    final int intVal = 78912;
    final long longVal = 3456789123L;
    final double doubleVal = Math.PI;
    final float floatVal = 0.12345f;
    final double[] doubleArrayVal = new double[] { Math.PI, Math.E };
    final float[] floatArrayVal = new float[] { 1234.5678f, 912345.6789f };

    //Set fields.
    msg.set(BOOLEAN, booleanVal);
    msg.set(BYTE, byteVal);
    msg.set(SHORT, shortVal);
    msg.set(INT, intVal);
    msg.set(LONG, longVal);
    msg.set(DOUBLE, doubleVal);
    msg.set(FLOAT, floatVal);
    msg.set(DOUBLE_ARRAY, doubleArrayVal);
    msg.set(FLOAT_ARRAY, floatArrayVal);

    //Read fields.
    assertEquals(booleanVal, msg.getBoolean(BOOLEAN));
    assertEquals(byteVal, msg.getByte(BYTE));
    assertEquals(shortVal, msg.getShort(SHORT));
    assertEquals(intVal, msg.getInt(INT));
    assertEquals(longVal, msg.getLong(LONG));
    assertEquals(doubleVal, msg.getDouble(DOUBLE));
    assertEquals(floatVal, msg.getFloat(FLOAT));
    assertTrue(Arrays.equals(doubleArrayVal, msg.getDoubleArray(DOUBLE_ARRAY)));
    assertTrue(Arrays.equals(floatArrayVal, msg.getFloatArray(FLOAT_ARRAY)));
  }
}
TOP

Related Classes of freenet.io.MessageTest

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.