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