1
2
3
4
5 package org.codehaus.activemq.message;
6
7 import java.io.IOException;
8 import java.util.Hashtable;
9
10 import javax.jms.JMSException;
11
12 import org.codehaus.activemq.message.ActiveMQMapMessage;
13 import org.codehaus.activemq.message.ActiveMQMapMessageReader;
14 import org.codehaus.activemq.message.ActiveMQMapMessageWriter;
15 import org.codehaus.activemq.message.Packet;
16
17 /***
18 * @author Rob To change the template for this generated type comment go to Window - Preferences - Java - Code
19 * Generation - Code and Comments
20 */
21 public class ActiveMQMapMessageReaderTest extends ActiveMQMessageReaderTest {
22
23 private Hashtable table;
24 public static void main(String[] args) {
25 junit.textui.TestRunner.run(ActiveMQMapMessageReaderTest.class);
26 }
27
28
29
30
31 protected void setUp() throws Exception {
32 super.setUp();
33 this.table = new Hashtable();
34 for (int i = 0; i < 10; i++) {
35 String str = "test" + i;
36 this.table.put(str, str);
37 }
38 }
39
40
41
42
43 protected void tearDown() throws Exception {
44 super.tearDown();
45 }
46
47 /***
48 * Constructor for ActiveMQTextMessageReaderTest.
49 *
50 * @param arg0
51 */
52 public ActiveMQMapMessageReaderTest(String arg0) {
53 super(arg0);
54 }
55
56 public void testGetPacketType() {
57 ActiveMQMapMessage msg = new ActiveMQMapMessage();
58 assertTrue(msg.getPacketType() == Packet.ACTIVEMQ_MAP_MESSAGE);
59 }
60
61 public void testReadPacket() {
62 ActiveMQMapMessageReader reader = new ActiveMQMapMessageReader();
63 ActiveMQMapMessageWriter writer = new ActiveMQMapMessageWriter();
64 ActiveMQMapMessage msg1 = new ActiveMQMapMessage();
65 try {
66 msg1.setTable(this.table);
67 super.initializeMessage(msg1);
68 byte[] data = writer.writePacketToByteArray(msg1);
69 ActiveMQMapMessage msg2 = (ActiveMQMapMessage) reader.readPacketFromByteArray(data);
70 super.testEquals(msg1, msg2);
71 assertTrue(msg1.getTable().equals(msg2.getTable()));
72 }
73 catch(JMSException jmsEx){
74 jmsEx.printStackTrace();
75 assertTrue(false);
76 }
77 catch (IOException e) {
78 e.printStackTrace();
79 assertTrue(false);
80 }
81 }
82
83 public void testTime() {
84
85 ActiveMQMapMessageReader reader = new ActiveMQMapMessageReader();
86 ActiveMQMapMessageWriter writer = new ActiveMQMapMessageWriter();
87 ActiveMQMapMessage msg1 = new ActiveMQMapMessage();
88
89 ActiveMQMapMessage msg2 = null;
90 try {
91 int count = 10000;
92 long startTime = System.currentTimeMillis();
93
94 msg1.setTable(this.table);
95 super.initializeMessage(msg1);
96 for (int i = 0; i < count; i++) {
97 byte[] data = writer.writePacketToByteArray(msg1);
98 msg2 = (ActiveMQMapMessage) reader.readPacketFromByteArray(data);
99 }
100 long finishTime = System.currentTimeMillis();
101 long totalTime = finishTime - startTime;
102 long ps = (count * 1000) / totalTime;
103 System.out.println("Time taken :" + totalTime + " for " + count + "iterations, = " + ps + " per sec.");
104
105 }
106 catch (Throwable e) {
107 e.printStackTrace();
108 assertTrue(false);
109 }
110 }
111
112 }