summaryrefslogtreecommitdiff
path: root/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessageBodyTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessageBodyTest.cs')
-rw-r--r--trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessageBodyTest.cs135
1 files changed, 0 insertions, 135 deletions
diff --git a/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessageBodyTest.cs b/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessageBodyTest.cs
deleted file mode 100644
index 3fad6b336d..0000000000
--- a/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/MessageBodyTest.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-* 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.
-*/
-
-namespace Apache.Qpid.Test.Channel.Functional
-{
- using System;
- using System.Collections.Generic;
- using System.Runtime.Serialization;
- using System.ServiceModel;
- using System.ServiceModel.Channels;
- using NUnit.Framework;
-
- [TestFixture]
- public class MessageBodyTest
- {
- private const string Queue = "amqp:amq.direct?routingkey=routing_key";
-
- [Test]
- public void DateVariation()
- {
- DateTime rightNow = DateTime.UtcNow;
- this.SendMessage(rightNow);
- this.ReceiveMessage<DateTime>(rightNow);
- }
-
- [Test]
- public void EmptyStringVariation()
- {
- const string TestString = "";
- this.SendMessage(TestString);
- this.ReceiveMessage<string>(TestString);
- }
-
- [Test]
- public void IntPrimitiveVariation()
- {
- const int TheAnswer = 42;
- this.SendMessage(TheAnswer);
- this.ReceiveMessage<int>(TheAnswer);
- }
-
- [Test]
- public void MultipleIntVariation()
- {
- const int NumberOfMessages = 20;
- int[] listOfNumbers = new int[NumberOfMessages];
-
- for (int i = 0; i < NumberOfMessages; i++)
- {
- this.SendMessage(i);
- listOfNumbers[i] = i;
- }
-
- Assert.True(listOfNumbers[NumberOfMessages - 1] != 0, "Not all messages were sent.");
-
- for (int j = 0; j < NumberOfMessages; j++)
- {
- int receivedNumber = this.ReceiveMessage<int>();
- Assert.True(listOfNumbers[j].Equals(receivedNumber), "Received {0} - this number is unknown or has been received more than once.", receivedNumber);
- }
- }
-
- [Test]
- public void StringVariation()
- {
- const string TestString = "The darkest of dim, dreary days dost draw deathly deeds. どーも";
- this.SendMessage(TestString);
- this.ReceiveMessage<string>(TestString);
- }
-
- private void SendMessage(object objectToSend)
- {
- IChannelFactory<IOutputChannel> channelFactory =
- Util.GetBinding().BuildChannelFactory<IOutputChannel>();
- channelFactory.Open();
- IOutputChannel proxy = channelFactory.CreateChannel(new EndpointAddress(Queue));
- proxy.Open();
- Message toSend = Message.CreateMessage(MessageVersion.Default, string.Empty, objectToSend);
- proxy.Send(toSend);
- toSend.Close();
- channelFactory.Close();
- }
-
- private TObjectType ReceiveMessage<TObjectType>()
- {
- Uri endpoint = new Uri("amqp:message_queue");
- IChannelListener<IInputChannel> listener = Util.GetBinding().BuildChannelListener<IInputChannel>(endpoint, new BindingParameterCollection());
- listener.Open();
- IInputChannel service = listener.AcceptChannel(TimeSpan.FromSeconds(10));
- service.Open();
- Message receivedMessage = service.Receive(TimeSpan.FromSeconds(10));
- Assert.NotNull(receivedMessage, "Message was not received");
- try
- {
- TObjectType receivedObject = receivedMessage.GetBody<TObjectType>();
- return receivedObject;
- }
- catch (SerializationException)
- {
- Assert.Fail("Deserialized object not of correct type");
- }
- finally
- {
- receivedMessage.Close();
- service.Close();
- listener.Close();
- }
-
- return default(TObjectType);
- }
-
- private TObjectType ReceiveMessage<TObjectType>(TObjectType objectToMatch)
- {
- TObjectType receivedObject = this.ReceiveMessage<TObjectType>();
- Assert.True(objectToMatch.Equals(receivedObject), "Original and deserialized objects do not match");
- return receivedObject;
- }
- }
-}