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

Quick Search    Search Deep

Source code: org/activemq/message/PacketTestSupport.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.message;
8   
9   import junit.framework.TestCase;
10  
11  import javax.jms.JMSException;
12  import org.activemq.io.WireFormat;
13  import org.activemq.io.impl.DefaultWireFormat;
14  import org.activemq.io.impl.PacketReader;
15  import org.activemq.io.impl.PacketWriter;
16  import java.io.ByteArrayInputStream;
17  import java.io.ByteArrayOutputStream;
18  import java.io.DataInputStream;
19  import java.io.DataOutputStream;
20  import java.io.IOException;
21  
22  /**
23   * @version $Revision: 1.1.1.1 $
24   */
25  public abstract class PacketTestSupport extends TestCase {
26      protected WireFormat wireFormat = new DefaultWireFormat();
27      protected PacketWriter writer;
28      protected PacketReader reader;
29      protected int packetCount = 10;
30  
31      public void testWireFormat() throws IOException, JMSException {
32          WireFormat wireFormat = new DefaultWireFormat();
33  
34          Packet packet = createPacket();
35          System.out.println("Created packet: " + packet + " with type: " + packet.getPacketType());
36  
37          ByteArrayOutputStream buffer = new ByteArrayOutputStream();
38          DataOutputStream dataOut = new DataOutputStream(buffer);
39          wireFormat.writePacket(packet, dataOut);
40          dataOut.close();
41          byte[] bytes = buffer.toByteArray();
42  
43          DataInputStream dataIn = new DataInputStream(new ByteArrayInputStream(bytes));
44          int type = dataIn.readByte();
45          System.out.println("Read type: " + type);
46          Packet otherPacket = wireFormat.readPacket(type, dataIn);
47  
48          System.out.println("Read packet: " + otherPacket);
49          assertPacket(otherPacket, packet);
50      }
51  
52      /*
53      public void testReadPacket() throws IOException {
54          Packet packet = createPacket();
55          byte[] data = writer.writePacketToByteArray(packet);
56          Packet testInfo = reader.readPacketFromByteArray(data);
57          assertValidPacket(testInfo);
58      }
59      */
60  
61      public void testToFromBytes() throws JMSException, IOException {
62          Packet packet = createPacket();
63          byte[] data = wireFormat.toBytes(packet);
64  
65          System.out.println("Written byte array of size: " + data.length);
66  
67          Packet value = wireFormat.fromBytes(data);
68          assertValidPacket(value);
69      }
70  
71      public void testReadAndWriteDataInOut() throws JMSException, IOException {
72          Packet packet = createPacket();
73          ByteArrayOutputStream buffer = new ByteArrayOutputStream();
74          DataOutputStream out = new DataOutputStream(buffer);
75          wireFormat.writePacket(packet, out);
76          out.close();
77  
78          byte[] data = buffer.toByteArray();
79          System.out.println("Written byte array of size: " + data.length);
80  
81          DataInputStream in = new DataInputStream(new ByteArrayInputStream(data));
82          Packet value = wireFormat.readPacket(in);
83          assertValidPacket(value);
84      }
85  
86  
87      public void testReadAndWriteDataInOutLoop() throws JMSException, IOException {
88          Packet packet = createPacket();
89          ByteArrayOutputStream buffer = new ByteArrayOutputStream();
90          DataOutputStream out = new DataOutputStream(buffer);
91  
92          for (int i = 0; i < packetCount; i++) {
93              wireFormat.writePacket(packet, out);
94          }
95  
96          DataInputStream in = new DataInputStream(new ByteArrayInputStream(buffer.toByteArray()));
97          for (int i = 0; i < packetCount; i++) {
98              Packet value = wireFormat.readPacket(in);
99              assertValidPacket(value);
100         }
101     }
102 
103     protected void assertPacket(Packet packet, Packet expected) {
104         assertValidPacket(packet);
105     }
106 
107     protected abstract Packet createPacket();
108 
109 
110     protected abstract void assertValidPacket(Packet packet);
111 
112 }