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