| Home >> All >> org >> activemq >> io >> [ impl Javadoc ] |
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 }