1
2
3
4
5
6
7 package org.codehaus.activemq.message;
8 import java.io.IOException;
9
10 import javax.jms.JMSException;
11 import javax.jms.MessageFormatException;
12
13 import org.codehaus.activemq.message.ActiveMQBytesMessage;
14 import org.codehaus.activemq.message.Packet;
15
16 import junit.framework.TestCase;
17 /***
18 *
19 * To change the template for this generated type comment go to Window -
20 * Preferences - Java - Code Generation - Code and Comments
21 */
22 public class ActiveMQBytesMessageTest extends TestCase {
23 public static void main(String[] args) {
24 junit.textui.TestRunner.run(ActiveMQBytesMessageTest.class);
25 }
26
27
28
29 protected void setUp() throws Exception {
30 super.setUp();
31 }
32
33
34
35 protected void tearDown() throws Exception {
36 super.tearDown();
37 }
38 /***
39 * Constructor for ActiveMQBytesMessageTest.
40 *
41 * @param arg0
42 */
43 public ActiveMQBytesMessageTest(String arg0) {
44 super(arg0);
45 }
46 public void testGetPacketType() {
47 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
48 assertTrue(msg.getPacketType() == Packet.ACTIVEMQ_BYTES_MESSAGE);
49 }
50 public void testShallowCopy() throws Exception {
51 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
52 byte[] data = new byte[50];
53 msg.setBodyAsBytes(data);
54 ActiveMQBytesMessage msg2 = (ActiveMQBytesMessage) msg.shallowCopy();
55 try {
56 assertTrue(msg2.getBodyAsBytes() != null
57 && msg2.getBodyAsBytes() == msg.getBodyAsBytes());
58 } catch (IOException ioe) {
59 ioe.printStackTrace();
60 assertTrue(false);
61 }
62 }
63 public void testDeepCopy() throws Exception {
64 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
65 byte[] data = new byte[50];
66 msg.setBodyAsBytes(data);
67 ActiveMQBytesMessage msg2 = (ActiveMQBytesMessage) msg.deepCopy();
68 try {
69 assertTrue(msg2.getBodyAsBytes() != null
70 && msg2.getBodyAsBytes() != msg.getBodyAsBytes()
71 && msg2.getBodyAsBytes().length == data.length);
72 } catch (IOException ioe) {
73 ioe.printStackTrace();
74 assertTrue(false);
75 }
76 }
77 public void testSetData() {
78 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
79 byte[] data = new byte[50];
80 msg.setBodyAsBytes(data);
81 try {
82 assertTrue(data == msg.getBodyAsBytes());
83 } catch (IOException ioe) {
84 ioe.printStackTrace();
85 assertTrue(false);
86 }
87 }
88 public void testGetBodyLength() {
89 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
90 int len = 10;
91 try {
92 for (int i = 0; i < len; i++) {
93 msg.writeLong(5l);
94 }
95 } catch (JMSException ex) {
96 ex.printStackTrace();
97 }
98 try {
99 msg.reset();
100 assertTrue(msg.getBodyLength() == (len * 8));
101 } catch (Throwable e) {
102 e.printStackTrace();
103 assertTrue(false);
104 }
105 }
106 public void testReadBoolean() {
107 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
108 try {
109 msg.writeBoolean(true);
110 msg.reset();
111 assertTrue(msg.readBoolean());
112 } catch (JMSException jmsEx) {
113 jmsEx.printStackTrace();
114 assertTrue(false);
115 }
116 }
117 public void testReadByte() {
118 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
119 try {
120 msg.writeByte((byte) 2);
121 msg.reset();
122 assertTrue(msg.readByte() == 2);
123 } catch (JMSException jmsEx) {
124 jmsEx.printStackTrace();
125 assertTrue(false);
126 }
127 }
128 public void testReadUnsignedByte() {
129 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
130 try {
131 msg.writeByte((byte) 2);
132 msg.reset();
133 assertTrue(msg.readUnsignedByte() == 2);
134 } catch (JMSException jmsEx) {
135 jmsEx.printStackTrace();
136 assertTrue(false);
137 }
138 }
139 public void testReadShort() {
140 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
141 try {
142 msg.writeShort((short) 3000);
143 msg.reset();
144 assertTrue(msg.readShort() == 3000);
145 } catch (JMSException jmsEx) {
146 jmsEx.printStackTrace();
147 assertTrue(false);
148 }
149 }
150 public void testReadUnsignedShort() {
151 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
152 try {
153 msg.writeShort((short) 3000);
154 msg.reset();
155 assertTrue(msg.readUnsignedShort() == 3000);
156 } catch (JMSException jmsEx) {
157 jmsEx.printStackTrace();
158 assertTrue(false);
159 }
160 }
161 public void testReadChar() {
162 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
163 try {
164 msg.writeChar('a');
165 msg.reset();
166 assertTrue(msg.readChar() == 'a');
167 } catch (JMSException jmsEx) {
168 jmsEx.printStackTrace();
169 assertTrue(false);
170 }
171 }
172 public void testReadInt() {
173 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
174 try {
175 msg.writeInt(3000);
176 msg.reset();
177 assertTrue(msg.readInt() == 3000);
178 } catch (JMSException jmsEx) {
179 jmsEx.printStackTrace();
180 assertTrue(false);
181 }
182 }
183 public void testReadLong() {
184 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
185 try {
186 msg.writeLong(3000);
187 msg.reset();
188 assertTrue(msg.readLong() == 3000);
189 } catch (JMSException jmsEx) {
190 jmsEx.printStackTrace();
191 assertTrue(false);
192 }
193 }
194 public void testReadFloat() {
195 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
196 try {
197 msg.writeFloat(3.3f);
198 msg.reset();
199 assertTrue(msg.readFloat() == 3.3f);
200 } catch (JMSException jmsEx) {
201 jmsEx.printStackTrace();
202 assertTrue(false);
203 }
204 }
205 public void testReadDouble() {
206 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
207 try {
208 msg.writeDouble(3.3d);
209 msg.reset();
210 assertTrue(msg.readDouble() == 3.3d);
211 } catch (JMSException jmsEx) {
212 jmsEx.printStackTrace();
213 assertTrue(false);
214 }
215 }
216 public void testReadUTF() {
217 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
218 try {
219 String str = "this is a test";
220 msg.writeUTF(str);
221 msg.reset();
222 assertTrue(msg.readUTF().equals(str));
223 } catch (JMSException jmsEx) {
224 jmsEx.printStackTrace();
225 assertTrue(false);
226 }
227 }
228
229
230
231 public void testReadBytesbyteArray() {
232 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
233 try {
234 byte[] data = new byte[50];
235 for (int i = 0; i < data.length; i++) {
236 data[i] = (byte) i;
237 }
238 msg.writeBytes(data);
239 msg.reset();
240 byte[] test = new byte[data.length];
241 msg.readBytes(test);
242 for (int i = 0; i < test.length; i++) {
243 assertTrue(test[i] == i);
244 }
245 } catch (JMSException jmsEx) {
246 jmsEx.printStackTrace();
247 assertTrue(false);
248 }
249 }
250 public void testWriteObject() {
251 ActiveMQBytesMessage msg = new ActiveMQBytesMessage();
252 try {
253 msg.writeObject(new Boolean(true));
254 msg.writeObject(new Long(300l));
255 msg.writeObject(new Float(3.3f));
256 msg.writeObject(new Character('q'));
257 msg.writeObject(new Byte((byte) 1));
258 msg.writeObject(new Short((short) 3));
259 msg.writeObject(new String("fred"));
260 try {
261 msg.writeObject(new Object());
262 assertTrue(false);
263 } catch (MessageFormatException mfe) {
264 assertTrue(true);
265 }
266 } catch (JMSException jmsEx) {
267 jmsEx.printStackTrace();
268 assertTrue(false);
269 }
270 }
271 }