Apache.NMS.ActiveMQ.Test.Commands.ActiveMQMapMessageTest.TestGetObject C# (CSharp) Method

TestGetObject() private method

private TestGetObject ( ) : void
return void
        public void TestGetObject()
        {
            ActiveMQMapMessage msg = new ActiveMQMapMessage();
            Boolean booleanValue = true;
            Byte byteValue = Byte.Parse("1");
            byte[] bytesValue = new byte[3];
            Char charValue = (Char) 'a';
            Double doubleValue = Double.Parse("1.5", CultureInfo.InvariantCulture);
            Single floatValue = Single.Parse("1.5", CultureInfo.InvariantCulture);
            Int32 intValue = Int32.Parse("1");
            Int64 longValue = Int64.Parse("1");
            Int16 shortValue = Int16.Parse("1");
            String stringValue = "string";

            try
            {
                msg.Body["boolean"] = booleanValue;
                msg.Body["byte"] = byteValue;
                msg.Body["bytes"] = bytesValue;
                msg.Body["char"] = charValue;
                msg.Body["double"] = doubleValue;
                msg.Body["float"] = floatValue;
                msg.Body["int"] = intValue;
                msg.Body["long"] = longValue;
                msg.Body["short"] = shortValue;
                msg.Body["string"] = stringValue;
            }
            catch(MessageFormatException)
            {
                Assert.Fail("object formats should be correct");
            }

            msg = (ActiveMQMapMessage)msg.Clone();

            Assert.IsTrue(msg.Body["boolean"] is Boolean);
            Assert.AreEqual(msg.Body["boolean"], booleanValue);
            Assert.AreEqual(msg.Body.GetBool("boolean"), booleanValue);
            Assert.IsTrue(msg.Body["byte"] is Byte);
            Assert.AreEqual(msg.Body["byte"], byteValue);
            Assert.AreEqual(msg.Body.GetByte("byte"), byteValue);
            Assert.IsTrue(msg.Body["bytes"] is byte[]);
            Assert.AreEqual(((byte[])msg.Body["bytes"]).Length, bytesValue.Length);
            Assert.AreEqual((msg.Body["bytes"] as byte[]).Length, bytesValue.Length);
            Assert.IsTrue(msg.Body["char"] is Char);
            Assert.AreEqual(msg.Body["char"], charValue);
            Assert.AreEqual(msg.Body.GetChar("char"), charValue);
            Assert.IsTrue(msg.Body["double"] is Double);
            Assert.AreEqual(msg.Body["double"], doubleValue);
            Assert.AreEqual(msg.Body.GetDouble("double"), doubleValue, 0);
            Assert.IsTrue(msg.Body["float"] is Single);
            Assert.AreEqual(msg.Body["float"], floatValue);
            Assert.AreEqual(msg.Body.GetFloat("float"), floatValue, 0);
            Assert.IsTrue(msg.Body["int"] is Int32);
            Assert.AreEqual(msg.Body["int"], intValue);
            Assert.AreEqual(msg.Body.GetInt("int"), intValue);
            Assert.IsTrue(msg.Body["long"] is Int64);
            Assert.AreEqual(msg.Body["long"], longValue);
            Assert.AreEqual(msg.Body.GetLong("long"), longValue);
            Assert.IsTrue(msg.Body["short"] is Int16);
            Assert.AreEqual(msg.Body["short"], shortValue);
            Assert.AreEqual(msg.Body.GetShort("short"), shortValue);
            Assert.IsTrue(msg.Body["string"] is String);
            Assert.AreEqual(msg.Body["string"], stringValue);
            Assert.AreEqual(msg.Body.GetString("string"), stringValue);

            msg.ClearBody();
            try
            {
                msg.Body["object"] = new Object();
                Assert.Fail("should have thrown exception");
            }
            catch(MessageFormatException)
            {
            }
        }