You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2014/02/27 00:38:36 UTC
svn commit: r1572349 - in /activemq/activemq-dotnet/Apache.NMS.AMQP/trunk:
src/test/csharp/MessageTest.cs vs2008-HelloWorld.csproj
vs2008-amqp-test.csproj
Author: tabish
Date: Wed Feb 26 23:38:36 2014
New Revision: 1572349
URL: http://svn.apache.org/r1572349
Log:
https://issues.apache.org/jira/browse/AMQNET-454
applied:
https://issues.apache.org/jira/secure/attachment/12631377/Apache.NMS.AMQP-add-message-test-20.patch
Added:
activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/MessageTest.cs (with props)
Modified:
activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-HelloWorld.csproj
activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-amqp-test.csproj
Added: activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/MessageTest.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/MessageTest.cs?rev=1572349&view=auto
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/MessageTest.cs (added)
+++ activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/MessageTest.cs Wed Feb 26 23:38:36 2014
@@ -0,0 +1,789 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor licensete 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 NUnit.Framework;
+using System;
+using System.Text;
+using System.Collections;
+using Apache.NMS.Util;
+using Apache.NMS.Amqp;
+
+namespace Apache.NMS.Amqp.Test.Commands
+{
+ [TestFixture]
+ public class MessageTest
+ {
+ private string nmsMessageID;
+ private string nmsCorrelationID;
+ private Topic nmsDestination;
+ private Topic nmsReplyTo;
+ private MsgDeliveryMode nmsDeliveryMode;
+ private bool nmsRedelivered;
+ private string nmsType;
+ private MsgPriority nmsPriority;
+ private DateTime nmsTimestamp;
+ private long[] consumerIDs;
+
+ [SetUp]
+ public virtual void SetUp()
+ {
+ this.nmsMessageID = "testid";
+ this.nmsCorrelationID = "testcorrelationid";
+ this.nmsDestination = new Topic("TEST.Message");
+ this.nmsReplyTo = new Topic("TEST.Message.replyto.topic:001");
+ this.nmsDeliveryMode = MsgDeliveryMode.NonPersistent;
+ this.nmsRedelivered = true;
+ this.nmsType = "test type";
+ this.nmsPriority = MsgPriority.High;
+ this.nmsTimestamp = DateTime.Now;
+ this.consumerIDs = new long[3];
+
+ for(int i = 0; i < this.consumerIDs.Length; i++)
+ {
+ this.consumerIDs[i] = i;
+ }
+ }
+
+ [Test]
+ public void TestSetToForeignNMSID()
+ {
+ TextMessage msg = new TextMessage();
+ msg.NMSMessageId = "SomeString";
+ }
+
+ [Test]
+ public void TestShallowCopy()
+ {
+ TextMessage msg1 = new TextMessage();
+ msg1.NMSMessageId = nmsMessageID;
+ TextMessage msg2 = (TextMessage)msg1.Clone();
+ Assert.IsTrue(msg1 != msg2);
+ Assert.IsTrue(msg1.Equals(msg2));
+ msg2.NMSPriority = MsgPriority.Highest;
+ Assert.IsFalse(msg1.Equals(msg2));
+ }
+
+ [Test]
+ public void TestCopy()
+ {
+ this.nmsMessageID = "ID:1141:45278:429";
+ this.nmsCorrelationID = "testcorrelationid";
+ this.nmsDestination = new Topic("test.topic");
+ this.nmsReplyTo = new Topic("test.replyto.topic:001");
+ this.nmsDeliveryMode = MsgDeliveryMode.NonPersistent;
+ this.nmsType = "test type";
+ this.nmsPriority = MsgPriority.High;
+ this.nmsTimestamp = DateTime.Now;
+
+ TextMessage msg1 = new TextMessage();
+ msg1.NMSMessageId = this.nmsMessageID;
+ msg1.NMSCorrelationID = this.nmsCorrelationID;
+ msg1.NMSDestination = this.nmsDestination;
+ msg1.NMSReplyTo = this.nmsReplyTo;
+ msg1.NMSDeliveryMode = this.nmsDeliveryMode;
+ msg1.NMSType = this.nmsType;
+ msg1.NMSPriority = this.nmsPriority;
+ msg1.NMSTimestamp = this.nmsTimestamp;
+
+ TextMessage msg2 = msg1;
+
+ Assert.IsTrue(msg1.NMSMessageId.Equals(msg2.NMSMessageId));
+ Assert.IsTrue(msg1.NMSCorrelationID.Equals(msg2.NMSCorrelationID));
+ Assert.IsTrue(msg1.NMSDestination.Equals(msg2.NMSDestination));
+ Assert.IsTrue(msg1.NMSReplyTo.Equals(msg2.NMSReplyTo));
+ Assert.IsTrue(msg1.NMSDeliveryMode == msg2.NMSDeliveryMode);
+ Assert.IsTrue(msg1.NMSRedelivered == msg2.NMSRedelivered);
+ Assert.IsTrue(msg1.NMSType.Equals(msg2.NMSType));
+ Assert.IsTrue(msg1.NMSPriority == msg2.NMSPriority);
+ Assert.IsTrue(msg1.NMSTimestamp == msg2.NMSTimestamp);
+ }
+
+ [Test]
+ public void TestGetAndSetNMSCorrelationID()
+ {
+ TextMessage msg = new TextMessage();
+ msg.NMSCorrelationID = this.nmsCorrelationID;
+ Assert.IsTrue(msg.NMSCorrelationID.Equals(this.nmsCorrelationID));
+ }
+
+ [Test]
+ public void TestGetAndSetNMSReplyTo()
+ {
+ TextMessage msg = new TextMessage();
+ msg.NMSReplyTo = this.nmsReplyTo;
+ Assert.AreEqual(msg.NMSReplyTo, this.nmsReplyTo);
+ }
+
+ [Test]
+ public void TestGetAndSetNMSDeliveryMode()
+ {
+ TextMessage msg = new TextMessage();
+ msg.NMSDeliveryMode = this.nmsDeliveryMode;
+ Assert.IsTrue(msg.NMSDeliveryMode == this.nmsDeliveryMode);
+ }
+
+ [Test]
+ public void TestGetAndSetNMSType()
+ {
+ TextMessage msg = new TextMessage();
+ msg.NMSType = this.nmsType;
+ Assert.AreEqual(msg.NMSType, this.nmsType);
+ }
+
+ [Test]
+ public void TestGetAndSetNMSPriority()
+ {
+ TextMessage msg = new TextMessage();
+ msg.NMSPriority = this.nmsPriority;
+ Assert.IsTrue(msg.NMSPriority == this.nmsPriority);
+ }
+
+ public void TestClearProperties()
+ {
+ TextMessage msg = new TextMessage();
+ msg.Properties.SetString("test", "test");
+ msg.Content = new byte[1];
+ msg.NMSMessageId = this.nmsMessageID;
+ msg.ClearProperties();
+ Assert.IsNull(msg.Properties.GetString("test"));
+ Assert.IsNotNull(msg.NMSMessageId);
+ Assert.IsNotNull(msg.Content);
+ }
+
+ [Test]
+ public void TestPropertyExists()
+ {
+ TextMessage msg = new TextMessage();
+ msg.Properties.SetString("test", "test");
+ Assert.IsTrue(msg.Properties.Contains("test"));
+ }
+
+ [Test]
+ public void TestGetBooleanProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "booleanProperty";
+ msg.Properties.SetBool(name, true);
+ Assert.IsTrue(msg.Properties.GetBool(name));
+ }
+
+ [Test]
+ public void TestGetByteProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "byteProperty";
+ msg.Properties.SetByte(name, (byte)1);
+ Assert.IsTrue(msg.Properties.GetByte(name) == 1);
+ }
+
+ [Test]
+ public void TestGetShortProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "shortProperty";
+ msg.Properties.SetShort(name, (short)1);
+ Assert.IsTrue(msg.Properties.GetShort(name) == 1);
+ }
+
+ [Test]
+ public void TestGetIntProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "intProperty";
+ msg.Properties.SetInt(name, 1);
+ Assert.IsTrue(msg.Properties.GetInt(name) == 1);
+ }
+
+ [Test]
+ public void TestGetLongProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "longProperty";
+ msg.Properties.SetLong(name, 1);
+ Assert.IsTrue(msg.Properties.GetLong(name) == 1);
+ }
+
+ [Test]
+ public void TestGetFloatProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "floatProperty";
+ msg.Properties.SetFloat(name, 1.3f);
+ Assert.IsTrue(msg.Properties.GetFloat(name) == 1.3f);
+ }
+
+ [Test]
+ public void TestGetDoubleProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "doubleProperty";
+ msg.Properties.SetDouble(name, 1.3d);
+ Assert.IsTrue(msg.Properties.GetDouble(name) == 1.3);
+ }
+
+ [Test]
+ public void TestGetStringProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "stringProperty";
+ msg.Properties.SetString(name, name);
+ Assert.IsTrue(msg.Properties.GetString(name).Equals(name));
+ }
+
+ [Test]
+ public void TestGetObjectProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "floatProperty";
+ msg.Properties.SetFloat(name, 1.3f);
+ Assert.IsTrue(msg.Properties[name] is float);
+ Assert.IsTrue((float)msg.Properties[name] == 1.3f);
+ }
+
+ [Test]
+ public void TestGetPropertyNames()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "floatProperty";
+ msg.Properties.SetFloat(name, 1.3f);
+
+ foreach(string key in msg.Properties.Keys)
+ {
+ Assert.IsTrue(key.Equals(name));
+ }
+ }
+
+ [Test]
+ public void TestSetObjectProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "property";
+
+ try
+ {
+ msg.Properties[name] = "string";
+ msg.Properties[name] = (Char) 1;
+ msg.Properties[name] = (Int16) 1;
+ msg.Properties[name] = (Int32) 1;
+ msg.Properties[name] = (Int64) 1;
+ msg.Properties[name] = (Byte)1;
+ msg.Properties[name] = (UInt16)1;
+ msg.Properties[name] = (UInt32)1;
+ msg.Properties[name] = (UInt64)1;
+ msg.Properties[name] = (Single)1.1f;
+ msg.Properties[name] = (Double) 1.1;
+ msg.Properties[name] = (Boolean) true;
+ msg.Properties[name] = null;
+ }
+ catch(NMSException)
+ {
+ Assert.Fail("should accept object primitives and String");
+ }
+
+ try
+ {
+ msg.Properties[name] = new Object();
+ Assert.Fail("should accept only object primitives and String");
+ }
+ catch(NMSException)
+ {
+ }
+
+ try
+ {
+ msg.Properties[name] = new StringBuilder();
+ Assert.Fail("should accept only object primitives and String");
+ }
+ catch(NMSException)
+ {
+ }
+ }
+
+ [Test]
+ public void TestConvertProperties()
+ {
+ TextMessage msg = new TextMessage();
+
+ // Set/verify a property using each supported AMQP data type
+
+ msg.Properties["stringProperty"] = "string";
+ msg.Properties["booleanProperty"] = (Boolean)true;
+
+ msg.Properties["charProperty"] = (Char)'h';
+ msg.Properties["shortProperty"] = (Int16) 2;
+ msg.Properties["intProperty"] = (Int32) 3;
+ msg.Properties["longProperty"] = (Int64) 4;
+
+ msg.Properties["byteProperty"] = (Byte)5;
+ msg.Properties["ushortProperty"] = (UInt16)6;
+ msg.Properties["uintProperty"] = (UInt32)7;
+ msg.Properties["ulongProperty"] = (UInt64)8;
+
+ msg.Properties["floatProperty"] = (Single)9.9f;
+ msg.Properties["doubleProperty"] = (Double) 10.1;
+ msg.Properties["nullProperty"] = null;
+ msg.Properties["guidProperty"] = new Guid("000102030405060708090a0b0c0d0e0f");
+
+ IPrimitiveMap properties = msg.Properties;
+ Assert.AreEqual(properties["stringProperty"], "string");
+ Assert.AreEqual(properties["booleanProperty"], true);
+
+ Assert.AreEqual((Char)properties["charProperty"], (Char)'h');
+ Assert.AreEqual(properties["shortProperty"], (short) 2);
+ Assert.AreEqual(properties["intProperty"], (int) 3);
+ Assert.AreEqual(properties["longProperty"], (long) 4);
+
+ Assert.AreEqual(properties["byteProperty"], (byte)5);
+ Assert.AreEqual(properties["ushortProperty"], (UInt16)6);
+ Assert.AreEqual(properties["uintProperty"], (int)7);
+ Assert.AreEqual(properties["ulongProperty"], (long)8);
+
+ Assert.AreEqual(properties["floatProperty"], 9.9f);
+ Assert.AreEqual(properties["doubleProperty"], 10.1);
+ Assert.IsNull(properties["nullProperty"]);
+ Guid rxGuid = (Guid)properties["guidProperty"];
+ Assert.AreEqual(rxGuid.ToString(), "00010203-0405-0607-0809-0a0b0c0d0e0f");
+ }
+
+ [Test]
+ public void TestSetNullProperty()
+ {
+ TextMessage msg = new TextMessage();
+ string name = "cheese";
+ msg.Properties.SetString(name, "Cheddar");
+ Assert.AreEqual("Cheddar", msg.Properties.GetString(name));
+
+ msg.Properties.SetString(name, null);
+ Assert.AreEqual(null, msg.Properties.GetString(name));
+ }
+
+ [Test]
+ public void TestSetNullPropertyName()
+ {
+ TextMessage msg = new TextMessage();
+
+ try
+ {
+ msg.Properties.SetString(null, "Cheese");
+ Assert.Fail("Should have thrown exception");
+ }
+ catch(Exception)
+ {
+ }
+ }
+
+ [Test]
+ public void TestSetEmptyPropertyName()
+ {
+ TextMessage msg = new TextMessage();
+
+ try
+ {
+ msg.Properties.SetString("", "Cheese");
+ Assert.Fail("Should have thrown exception");
+ }
+ catch(Exception)
+ {
+ }
+ }
+
+ [Test]
+ public void TestGetAndSetNMSXDeliveryCount()
+ {
+ TextMessage msg = new TextMessage();
+ msg.Properties.SetInt("NMSXDeliveryCount", 1);
+ int count = msg.Properties.GetInt("NMSXDeliveryCount");
+ Assert.IsTrue(count == 1, "expected delivery count = 1 - got: " + count);
+ }
+
+ [Test]
+ public void TestClearBody()
+ {
+ BytesMessage message = new BytesMessage();
+ message.ClearBody();
+ Assert.IsFalse(message.ReadOnlyBody);
+ }
+
+ //
+ // Helper functions for TestPropertyConversionXxx tests.
+ // Demonstrate properties are inaccessible using various methods.
+ // Get the named property from the map.
+ // Assert that the Get function throws; display message on failure.
+ //
+ public void TestGetBoolThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetBool(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetByteThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetByte(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetBytesThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetBytes(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetCharThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetChar(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetDictionaryThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetDictionary(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetDoubleThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetDouble(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetFloatThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetFloat(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetIntThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetInt(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetListThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetList(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetLongThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetLong(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetShortThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetShort(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ public void TestGetStringThrows(IPrimitiveMap map, string name, string message)
+ {
+ try
+ {
+ map.GetString(name);
+ Assert.Fail(message);
+ }
+ catch (NMSException)
+ {
+ }
+ }
+
+ [Test]
+ public void TestPropertyConversionBoolean()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ msg.Properties.SetBool(propertyName, true);
+
+ Assert.AreEqual(msg.Properties[propertyName], true);
+ Assert.IsTrue(msg.Properties.GetBool(propertyName));
+ Assert.AreEqual(msg.Properties[propertyName].ToString(), "True");
+
+ //TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+
+
+ [Test]
+ public void TestPropertyConversionByte()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ msg.Properties.SetByte(propertyName, (byte)1);
+
+ Assert.AreEqual(msg.Properties[propertyName], 1);
+ Assert.AreEqual(msg.Properties.GetByte(propertyName), 1);
+ Assert.AreEqual(msg.Properties[propertyName].ToString(), "1");
+
+ TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ //TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+
+ [Test]
+ public void TestPropertyConversionShort()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ msg.Properties.SetShort(propertyName, (short)1);
+
+ Assert.AreEqual((short)msg.Properties[propertyName], 1);
+ Assert.AreEqual(msg.Properties.GetShort(propertyName), 1);
+ Assert.AreEqual(msg.Properties[propertyName].ToString(), "1");
+
+ TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ //TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+
+ [Test]
+ public void TestPropertyConversionInt()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ msg.Properties.SetInt(propertyName, (int)1);
+
+ Assert.AreEqual((int)msg.Properties[propertyName], 1);
+ Assert.AreEqual(msg.Properties.GetInt(propertyName), 1);
+ Assert.AreEqual(msg.Properties[propertyName].ToString(), "1");
+
+ TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ //TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+
+ [Test]
+ public void TestPropertyConversionLong()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ msg.Properties.SetLong(propertyName, 1);
+
+ Assert.AreEqual((long)msg.Properties[propertyName], 1);
+ Assert.AreEqual(msg.Properties.GetLong(propertyName), 1);
+ Assert.AreEqual(msg.Properties[propertyName].ToString(), "1");
+
+ TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ //TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+
+ [Test]
+ public void TestPropertyConversionFloat()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ float floatValue = (float)1.5;
+ msg.Properties.SetFloat(propertyName, floatValue);
+ Assert.AreEqual((float)msg.Properties[propertyName], floatValue, 0);
+ Assert.AreEqual(msg.Properties.GetFloat(propertyName), floatValue, 0);
+ Assert.AreEqual(msg.Properties[propertyName].ToString(), floatValue.ToString());
+
+ TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ //TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+
+ [Test]
+ public void TestPropertyConversionDouble()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ Double doubleValue = 1.5;
+ msg.Properties.SetDouble(propertyName, doubleValue);
+ Assert.AreEqual((double)msg.Properties[propertyName], doubleValue, 0);
+ Assert.AreEqual(msg.Properties.GetDouble(propertyName), doubleValue, 0);
+ Assert.AreEqual(msg.Properties[propertyName].ToString(), doubleValue.ToString());
+
+ TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ //TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+
+ [Test]
+ public void TestPropertyConversionString()
+ {
+ TextMessage msg = new TextMessage();
+ String propertyName = "property";
+ String stringValue = "True";
+ msg.Properties.SetString(propertyName, stringValue);
+ Assert.AreEqual(msg.Properties.GetString(propertyName), stringValue);
+ Assert.AreEqual((string)msg.Properties[propertyName], stringValue);
+
+ stringValue = "1";
+ msg.Properties.SetString(propertyName, stringValue);
+ // TODO:
+ //Assert.AreEqual(msg.Properties.GetByte(propertyName), 1);
+ //Assert.AreEqual(msg.Properties.GetShort(propertyName), 1);
+ //Assert.AreEqual(msg.Properties.GetInt(propertyName), 1);
+ //Assert.AreEqual(msg.Properties.GetLong(propertyName), 1);
+
+ Double doubleValue = 1.5;
+ stringValue = doubleValue.ToString();
+ msg.Properties.SetString(propertyName, stringValue);
+ // TODO:
+ //Assert.AreEqual(msg.Properties.GetFloat(propertyName), 1.5, 0);
+ //Assert.AreEqual(msg.Properties.GetDouble(propertyName), 1.5, 0);
+
+ stringValue = "bad";
+ msg.Properties.SetString(propertyName, stringValue);
+
+ TestGetBoolThrows(msg.Properties, propertyName, "GetBool should have thrown");
+ TestGetByteThrows(msg.Properties, propertyName, "GetByte should have thrown");
+ TestGetBytesThrows(msg.Properties, propertyName, "GetBytes should have thrown");
+ TestGetCharThrows(msg.Properties, propertyName, "GetChar should have thrown");
+ TestGetDictionaryThrows(msg.Properties, propertyName, "GetDictionary should have thrown");
+ TestGetDoubleThrows(msg.Properties, propertyName, "GetDouble should have thrown");
+ TestGetFloatThrows(msg.Properties, propertyName, "GetFloat should have thrown");
+ TestGetIntThrows(msg.Properties, propertyName, "GetInt should have thrown");
+ TestGetListThrows(msg.Properties, propertyName, "GetList should have thrown");
+ TestGetLongThrows(msg.Properties, propertyName, "GetLong should have thrown");
+ TestGetShortThrows(msg.Properties, propertyName, "GetShort should have thrown");
+ //TestGetStringThrows(msg.Properties, propertyName, "GetString should have thrown");
+ }
+ }
+}
Propchange: activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/MessageTest.cs
------------------------------------------------------------------------------
svn:eol-style = native
Modified: activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-HelloWorld.csproj
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-HelloWorld.csproj?rev=1572349&r1=1572348&r2=1572349&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-HelloWorld.csproj (original)
+++ activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-HelloWorld.csproj Wed Feb 26 23:38:36 2014
@@ -66,7 +66,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>lib\Apache.NMS\net-2.0\Apache.NMS.dll</HintPath>
</Reference>
- <Reference Include="Apache.NMS.AMQP, Version=1.6.0.3335, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Messaging" />
<Reference Include="System.Xml" />
@@ -100,6 +99,12 @@
<ItemGroup>
<None Include="keyfile\NMSKey.snk" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="vs2008-amqp.csproj">
+ <Project>{5CDFDA77-CFC2-4A6E-B731-6C06B59BFFE3}</Project>
+ <Name>vs2008-amqp</Name>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<PropertyGroup>
<PostBuildEvent>cd $(ProjectDir)
Modified: activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-amqp-test.csproj
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-amqp-test.csproj?rev=1572349&r1=1572348&r2=1572349&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-amqp-test.csproj (original)
+++ activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/vs2008-amqp-test.csproj Wed Feb 26 23:38:36 2014
@@ -2,7 +2,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
+ <ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{2F31ED5C-44A2-464A-BD55-2B5B010654E8}</ProjectGuid>
<OutputType>Library</OutputType>
@@ -79,7 +79,8 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
- <Compile Include="src\test\csharp\CommonAssemblyInfo.cs" />
+ <Compile Include="src\test\csharp\MessageTest.cs" />
+ <Compile Include="src\main\csharp\CommonAssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
@@ -106,6 +107,12 @@
<ItemGroup>
<None Include="keyfile\NMSKey.snk" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="vs2008-amqp.csproj">
+ <Project>{5CDFDA77-CFC2-4A6E-B731-6C06B59BFFE3}</Project>
+ <Name>vs2008-amqp</Name>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<PropertyGroup>
<PostBuildEvent>cd $(ProjectDir)