Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/activemq/io/impl/ActiveMQBytesMessageReaderTest.java


1   /*
2    * Created on Mar 8, 2004 To change the template for this generated file go to Window - Preferences - Java - Code
3    * Generation - Code and Comments
4    */
5   package org.activemq.io.impl;
6   
7   import java.io.IOException;
8   
9   import org.activemq.io.util.ByteArray;
10  import org.activemq.message.ActiveMQBytesMessage;
11  import org.activemq.message.Packet;
12  
13  /**
14   * @author Rob To change the template for this generated type comment go to Window - Preferences - Java - Code
15   *         Generation - Code and Comments
16   */
17  public class ActiveMQBytesMessageReaderTest extends ActiveMQMessageReaderTest {
18  
19    private byte[] testdata;
20    public static void main(String[] args) {
21      junit.textui.TestRunner.run(ActiveMQBytesMessageReaderTest.class);
22    }
23  
24    /*
25     * @see TestCase#setUp()
26     */
27    protected void setUp() throws Exception {
28      super.setUp();
29      testdata = new byte[1024 *2];
30      for (int i = 0; i < testdata.length;i++){
31        testdata[i] = (byte)i;
32      }
33  
34    }
35  
36    /*
37     * @see TestCase#tearDown()
38     */
39    protected void tearDown() throws Exception {
40      super.tearDown();
41    }
42  
43    /**
44     * Constructor for ActiveMQTextMessageReaderTest.
45     * 
46     * @param arg0
47     */
48    public ActiveMQBytesMessageReaderTest(String arg0) {
49      super(arg0);
50    }
51  
52    public void testGetPacketType() {
53      ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
54      assertTrue(msg.getPacketType() == Packet.ACTIVEMQ_BYTES_MESSAGE);
55    }
56  
57    public void testReadPacket() {
58          DefaultWireFormat wf = new DefaultWireFormat();
59      ActiveMQBytesMessageReader reader = new ActiveMQBytesMessageReader(wf);
60      ActiveMQBytesMessageWriter writer = new ActiveMQBytesMessageWriter(wf);
61      ActiveMQBytesMessage msg1 = new ActiveMQBytesMessage();
62      try {
63        msg1.setBodyAsBytes(testdata,0,testdata.length);
64        super.initializeMessage(msg1);
65        byte[] data = writer.writePacketToByteArray(msg1);
66        ActiveMQBytesMessage msg2 = (ActiveMQBytesMessage) reader.readPacketFromByteArray(data);
67        super.testEquals(msg1, msg2);
68        ByteArray d2 = msg2.getBodyAsBytes();
69        assertTrue(d2.getLength()==testdata.length);
70        for(int i = 0; i < testdata.length; i++)
71        assertTrue(d2.get(i)==testdata[i]);
72      }
73      catch (IOException e) {
74        e.printStackTrace();
75        assertTrue(false);
76      }
77      
78    }
79    
80    public void testTime(){
81          DefaultWireFormat wf = new DefaultWireFormat();
82      ActiveMQBytesMessageReader reader = new ActiveMQBytesMessageReader(wf);
83      ActiveMQBytesMessageWriter writer = new ActiveMQBytesMessageWriter(wf);
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,0,this.testdata.length);
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 }