blob: 6d3f27ca760cba3c08f4f62db3df1962c3cdd43b [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
using System;
using System.Text;
using Apache.NMS.ActiveMQ.Commands;
using NUnit.Framework;
namespace Apache.NMS.ActiveMQ.Test.Commands
{
[TestFixture]
public class ActiveMQStreamMessageTest
{
[Test]
public void TestCommand()
{
ActiveMQStreamMessage message = new ActiveMQStreamMessage();
Assert.IsNull( message.Content );
Assert.IsTrue( !message.ReadOnlyBody );
Assert.IsTrue( !message.ReadOnlyProperties );
}
[Test]
public void TestReadBoolean() {
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
msg.WriteBoolean(true);
msg.Reset();
Assert.IsTrue(msg.ReadBoolean());
msg.Reset();
Assert.IsTrue(msg.ReadString() == "True");
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt32();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt64();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadDouble();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadByte()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
byte test = (byte)4;
msg.WriteByte(test);
msg.Reset();
Assert.IsTrue(msg.ReadByte() == test);
msg.Reset();
Assert.IsTrue(msg.ReadInt16() == test);
msg.Reset();
Assert.IsTrue(msg.ReadInt32() == test);
msg.Reset();
Assert.IsTrue(msg.ReadInt64() == test);
msg.Reset();
Assert.IsTrue(msg.ReadString() == (test).ToString());
msg.Reset();
try
{
msg.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadDouble();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadInt16() {
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
short test = (short)4;
msg.WriteInt16(test);
msg.Reset();
Assert.IsTrue(msg.ReadInt16() == test);
msg.Reset();
Assert.IsTrue(msg.ReadInt32() == test);
msg.Reset();
Assert.IsTrue(msg.ReadInt64() == test);
msg.Reset();
Assert.IsTrue(msg.ReadString() == (test).ToString());
msg.Reset();
try
{
msg.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadDouble();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadChar() {
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
char test = 'z';
msg.WriteChar(test);
msg.Reset();
Assert.IsTrue(msg.ReadChar() == test);
msg.Reset();
Assert.IsTrue(msg.ReadString() == (test).ToString());
msg.Reset();
try
{
msg.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt32();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt64();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadDouble();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadInt() {
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
int test = 4;
msg.WriteInt32(test);
msg.Reset();
Assert.IsTrue(msg.ReadInt32() == test);
msg.Reset();
Assert.IsTrue(msg.ReadInt64() == test);
msg.Reset();
Assert.IsTrue(msg.ReadString() == (test).ToString());
msg.Reset();
try
{
msg.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadDouble();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadLong()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
long test = 4L;
msg.WriteInt64(test);
msg.Reset();
Assert.IsTrue(msg.ReadInt64() == test);
msg.Reset();
Assert.IsTrue(msg.ReadString() == (test).ToString());
msg.Reset();
try
{
msg.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt32();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadDouble();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg = new ActiveMQStreamMessage();
msg.WriteObject((Int64) 1);
// Reset so it's readable now
msg.Reset();
Assert.AreEqual( (Int64) 1, msg.ReadObject());
}
[Test]
public void TestReadFloat()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
float test = 4.4f;
msg.WriteSingle(test);
msg.Reset();
Assert.IsTrue(msg.ReadSingle() == test);
msg.Reset();
Assert.IsTrue(msg.ReadDouble() == test);
msg.Reset();
Assert.IsTrue(msg.ReadString() == (test).ToString());
msg.Reset();
try
{
msg.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt32();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt64();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadDouble()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
double test = 4.4;
msg.WriteDouble(test);
msg.Reset();
Assert.IsTrue(msg.ReadDouble() == test);
msg.Reset();
Assert.IsTrue(msg.ReadString() == (test).ToString());
msg.Reset();
try
{
msg.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt32();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt64();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadString()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
byte testByte = (byte)2;
msg.WriteString(((Byte)testByte).ToString());
msg.Reset();
Assert.IsTrue(msg.ReadByte() == testByte);
msg.ClearBody();
short testShort = 3;
msg.WriteString(((Int16)testShort).ToString());
msg.Reset();
Assert.IsTrue(msg.ReadInt16() == testShort);
msg.ClearBody();
int testInt = 4;
msg.WriteString(((Int32)testInt).ToString());
msg.Reset();
Assert.IsTrue(msg.ReadInt32() == testInt);
msg.ClearBody();
long testLong = 6L;
msg.WriteString(((Int64)testLong).ToString());
msg.Reset();
Assert.IsTrue(msg.ReadInt64() == testLong);
msg.ClearBody();
float testFloat = 6.6f;
msg.WriteString(((Single)testFloat).ToString());
msg.Reset();
Assert.IsTrue(msg.ReadSingle() == testFloat);
msg.ClearBody();
double testDouble = 7.7d;
msg.WriteString(((Double)testDouble).ToString());
msg.Reset();
Assert.AreEqual( testDouble, msg.ReadDouble(), 0.05 );
msg.ClearBody();
msg.WriteString("true");
msg.Reset();
Assert.IsTrue(msg.ReadBoolean());
msg.ClearBody();
msg.WriteString("a");
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.ClearBody();
msg.WriteString("777");
msg.Reset();
try
{
msg.ReadBytes(new byte[3]);
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadBigString()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
// Test with a 1Meg String
StringBuilder bigSB = new StringBuilder(1024 * 1024);
for(int i = 0; i < 1024 * 1024; i++)
{
bigSB.Append((char)'a' + i % 26);
}
String bigString = bigSB.ToString();
msg.WriteString(bigString);
msg.Reset();
Assert.AreEqual(bigString, msg.ReadString());
}
[Test]
public void TestReadBytes()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
byte[] test = new byte[50];
for(int i = 0; i < test.Length; i++)
{
test[i] = (byte)i;
}
msg.WriteBytes(test);
msg.Reset();
byte[] valid = new byte[test.Length];
msg.ReadBytes(valid);
for(int i = 0; i < valid.Length; i++)
{
Assert.IsTrue(valid[i] == test[i]);
}
msg.Reset();
try
{
msg.ReadByte();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt32();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadInt64();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
msg.Reset();
try
{
msg.ReadString();
Assert.Fail("Should have thrown exception");
}
catch(MessageFormatException)
{
}
}
[Test]
public void TestReadObject()
{
ActiveMQStreamMessage msg = new ActiveMQStreamMessage();
byte testByte = (byte)2;
msg.WriteByte(testByte);
msg.Reset();
Assert.IsTrue((byte)msg.ReadObject() == testByte);
msg.ClearBody();
short testShort = 3;
msg.WriteInt16(testShort);
msg.Reset();
Assert.IsTrue((short)msg.ReadObject() == testShort);
msg.ClearBody();
int testInt = 4;
msg.WriteInt32(testInt);
msg.Reset();
Assert.IsTrue((int)msg.ReadObject() == testInt);
msg.ClearBody();
long testLong = 6L;
msg.WriteInt64(testLong);
msg.Reset();
Assert.IsTrue((long)msg.ReadObject() == testLong);
msg.ClearBody();
float testFloat = 6.6f;
msg.WriteSingle(testFloat);
msg.Reset();
Assert.IsTrue((float)msg.ReadObject() == testFloat);
msg.ClearBody();
double testDouble = 7.7d;
msg.WriteDouble(testDouble);
msg.Reset();
Assert.IsTrue((double)msg.ReadObject() == testDouble);
msg.ClearBody();
char testChar = 'z';
msg.WriteChar(testChar);
msg.Reset();
Assert.IsTrue((char)msg.ReadObject() == testChar);
msg.ClearBody();
byte[] data = new byte[50];
for(int i = 0; i < data.Length; i++)
{
data[i] = (byte)i;
}
msg.WriteBytes(data);
msg.Reset();
byte[] valid = (byte[])msg.ReadObject();
Assert.IsTrue(valid.Length == data.Length);
for(int i = 0; i < valid.Length; i++)
{
Assert.IsTrue(valid[i] == data[i]);
}
msg.ClearBody();
msg.WriteBoolean(true);
msg.Reset();
Assert.IsTrue((bool)msg.ReadObject());
}
[Test]
public void TestClearBody()
{
ActiveMQStreamMessage streamMessage = new ActiveMQStreamMessage();
try
{
streamMessage.WriteObject((Int64) 2);
streamMessage.ClearBody();
Assert.IsFalse(streamMessage.ReadOnlyBody);
streamMessage.WriteObject((Int64) 2);
streamMessage.ReadObject();
Assert.Fail("should throw exception");
}
catch(MessageNotReadableException)
{
}
catch(MessageNotWriteableException)
{
Assert.Fail("should be writeable");
}
}
[Test]
public void TestReset()
{
ActiveMQStreamMessage streamMessage = new ActiveMQStreamMessage();
try
{
streamMessage.WriteDouble(24.5);
streamMessage.WriteInt64(311);
}
catch(MessageNotWriteableException)
{
Assert.Fail("should be writeable");
}
streamMessage.Reset();
try
{
Assert.IsTrue(streamMessage.ReadOnlyBody);
Assert.AreEqual(streamMessage.ReadDouble(), 24.5, 0);
Assert.AreEqual(streamMessage.ReadInt64(), 311);
}
catch(MessageNotReadableException)
{
Assert.Fail("should be readable");
}
try
{
streamMessage.WriteInt32(33);
Assert.Fail("should throw exception");
}
catch(MessageNotWriteableException)
{
}
}
[Test]
public void TestReadOnlyBody()
{
ActiveMQStreamMessage message = new ActiveMQStreamMessage();
try
{
message.WriteBoolean(true);
message.WriteByte((byte)1);
message.WriteBytes(new byte[1]);
message.WriteBytes(new byte[3], 0, 2);
message.WriteChar('a');
message.WriteDouble(1.5);
message.WriteSingle((float)1.5);
message.WriteInt32(1);
message.WriteInt64(1);
message.WriteObject("stringobj");
message.WriteInt16((short)1);
message.WriteString("string");
}
catch(MessageNotWriteableException)
{
Assert.Fail("Should be writeable");
}
message.Reset();
try
{
message.ReadBoolean();
message.ReadByte();
Assert.AreEqual(1, message.ReadBytes(new byte[10]));
Assert.AreEqual(-1, message.ReadBytes(new byte[10]));
Assert.AreEqual(2, message.ReadBytes(new byte[10]));
Assert.AreEqual(-1, message.ReadBytes(new byte[10]));
message.ReadChar();
message.ReadDouble();
message.ReadSingle();
message.ReadInt32();
message.ReadInt64();
message.ReadString();
message.ReadInt16();
message.ReadString();
}
catch(MessageNotReadableException)
{
Assert.Fail("Should be readable");
}
try
{
message.WriteBoolean(true);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteByte((byte)1);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteBytes(new byte[3], 0, 2);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try {
message.WriteChar('a');
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteDouble(1.5);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteSingle((float)1.5);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteInt32(1);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteInt64(1);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteObject("stringobj");
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteSingle((short)1);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
try
{
message.WriteString("string");
Assert.Fail("Should have thrown exception");
}
catch(MessageNotWriteableException)
{
}
}
[Test]
public void TestWriteOnlyBody()
{
ActiveMQStreamMessage message = new ActiveMQStreamMessage();
message.ClearBody();
try
{
message.WriteBoolean(true);
message.WriteByte((byte)1);
message.WriteBytes(new byte[1]);
message.WriteBytes(new byte[3], 0, 2);
message.WriteChar('a');
message.WriteDouble(1.5);
message.WriteSingle((float)1.5);
message.WriteInt32(1);
message.WriteInt64(1);
message.WriteObject("stringobj");
message.WriteSingle((short)1);
message.WriteString("string");
}
catch(MessageNotWriteableException)
{
Assert.Fail("Should be writeable");
}
try
{
message.ReadBoolean();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadByte();
Assert.Fail("Should have thrown exception");
} catch(MessageNotReadableException)
{
}
try
{
message.ReadBytes(new byte[1]);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadBytes(new byte[2]);
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadChar();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadDouble();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadSingle();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException) {
}
try
{
message.ReadInt32();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadInt64();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadString();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadInt16();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
try
{
message.ReadString();
Assert.Fail("Should have thrown exception");
}
catch(MessageNotReadableException)
{
}
}
[Test]
public void TestWriteObject()
{
try
{
ActiveMQStreamMessage message = new ActiveMQStreamMessage();
message.ClearBody();
message.WriteObject("test");
message.WriteObject((Char) 'a');
message.WriteObject((Boolean) false);
message.WriteObject((Byte) ((byte) 2));
message.WriteObject((Int16) ((short) 2));
message.WriteObject((Int32) 2);
message.WriteObject((Int64) 2L);
message.WriteObject((Single) 2.0f);
message.WriteObject((Double) 2.0);
}
catch(Exception e)
{
Assert.Fail(e.Message);
}
try
{
ActiveMQStreamMessage message = new ActiveMQStreamMessage();
message.ClearBody();
message.WriteObject(new Object());
Assert.Fail("should throw an exception");
}
catch(MessageFormatException)
{
}
catch(Exception e)
{
Assert.Fail(e.Message);
}
}
}
}