    1   /*
    2    * Created on Mar 8, 2004
    3    *
    4    * To change the template for this generated file go to
    5    * Window - Preferences - Java - Code Generation - Code and Comments
    6    */
    7   package org.codehaus.activemq.message;
    8
    9
    10  /***
    11   * @version $Revision: 1.4 $
    12   */
    13  public class TransactionInfoReaderTest extends PacketTestSupport {
    14      private String TransactionId;
    15      private int type;
    16
    17      public static void main(String[] args) {
    18          junit.textui.TestRunner.run(TransactionInfoReaderTest.class);
    19      }
    20
    21      /*
    22       * @see TestCase#setUp()
    23       */
    24      protected void setUp() throws Exception {
    25          super.setUp();
    26          this.TransactionId = "testTransactionId";
    27          this.type = 113;
    28      }
    29
    30
    31      public void testGetPacketType() {
    32          TransactionInfoReader reader = new TransactionInfoReader();
    33          assertTrue(reader.getPacketType() == Packet.TRANSACTION_INFO);
    34      }
    35
    36      public void testReadPacket() {
    37          TransactionInfo info = (TransactionInfo) createPacket();
    38
    39          TransactionInfoWriter writer = new TransactionInfoWriter();
    40          TransactionInfoReader reader = new TransactionInfoReader();
    41          try {
    42              byte[] data = writer.writePacketToByteArray(info);
    43              TransactionInfo testInfo = (TransactionInfo) reader.readPacketFromByteArray(data);
    44
    45              assertPacket(testInfo, info);
    46          }
    47          catch (Throwable e) {
    48              e.printStackTrace();
    49              assertTrue(false);
    50          }
    51      }
    52
    53      public void testTime() {
    54          TransactionInfo info = (TransactionInfo) createPacket();
    55
    56          TransactionInfoWriter writer = new TransactionInfoWriter();
    57          TransactionInfoReader reader = new TransactionInfoReader();
    58          TransactionInfo testInfo = null;
    59          try {
    60              int count = 100000;
    61              long startTime = System.currentTimeMillis();
    62              for (int i = 0; i < count; i++) {
    63                  byte[] data = writer.writePacketToByteArray(info);
    64                  testInfo = (TransactionInfo) reader.readPacketFromByteArray(data);
    65              }
    66              long finishTime = System.currentTimeMillis();
    67              long totalTime = finishTime - startTime;
    68              long ps = (count * 1000) / totalTime;
    69              System.out.println("Time taken :" + totalTime + " for " + count + "iterations, = " + ps + " per sec.");
    70
    71          }
    72          catch (Throwable e) {
    73              e.printStackTrace();
    74              assertTrue(false);
    75          }
    76      }
    77
    78      protected void assertValidPacket(Packet packet) {
    79          TransactionInfo testInfo = (TransactionInfo) packet;
    80          assertTrue(testInfo.getId().equals(this.TransactionId));
    81          assertTrue(testInfo.getType() == this.type);
    82      }
    83
    84      protected Packet createPacket() {
    85          TransactionInfo info = new TransactionInfo();
    86          info.setId(this.TransactionId);
    87          info.setType(this.type);
    88          return info;
    89      }
    90
    91  }