Author: shuston
Date: Mon May  3 22:09:34 2010
New Revision: 940655

URL: http://svn.apache.org/viewvc?rev=940655&view=rev
Log:
Forgotten file from last week; resolves QPID-2564.

Added:
    
qpid/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/ChannelAbortCommitTest.cs

Added: 
qpid/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/ChannelAbortCommitTest.cs
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/ChannelAbortCommitTest.cs?rev=940655&view=auto
==============================================================================
--- 
qpid/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/ChannelAbortCommitTest.cs
 (added)
+++ 
qpid/trunk/qpid/wcf/test/Apache/Qpid/Test/Channel/Functional/ChannelAbortCommitTest.cs
 Mon May  3 22:09:34 2010
@@ -0,0 +1,113 @@
+/*
+* 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.Collections.Generic;
+    using System.ServiceModel.Channels;
+    using NUnit.Framework;
+
+    [TestFixture(1, true, false, true, true)]
+    [TestFixture(1, true, false, true, false)]
+    [TestFixture(1, true, false, false, true)]
+    [TestFixture(1, true, false, false, false)]
+    [TestFixture(1, false, true, true, true)]
+    [TestFixture(1, false, true, true, false)]
+    [TestFixture(1, false, true, false, true)]
+    [TestFixture(1, false, true, false, false)]
+    [TestFixture(5, true, false, true, true)]
+    [TestFixture(5, true, false, true, false)]
+    [TestFixture(5, true, false, false, true)]
+    [TestFixture(5, true, false, false, false)]
+    [TestFixture(5, false, true, true, true)]
+    [TestFixture(5, false, true, true, false)]
+    [TestFixture(5, false, true, false, true)]
+    [TestFixture(5, false, true, false, false)]
+    public class ChannelAbortCommitTest
+    {
+        private const string SendToUri = 
"amqp:amq.direct?routingkey=routing_key";
+        private const string ListenUri = "amqp:message_queue";
+
+        private ChannelContextParameters contextParameters;
+        private Binding channelBinding;
+        private List<string> expectedResults;
+
+        public ChannelAbortCommitTest(int numberOfThreads, bool sendAbort, 
bool receiveAbort, bool asyncSend, bool asyncReceive)
+        {
+            this.contextParameters = new ChannelContextParameters();
+            this.contextParameters.NumberOfThreads = numberOfThreads;
+            this.contextParameters.SenderShouldAbort = sendAbort;
+            this.contextParameters.ReceiverShouldAbort = receiveAbort;
+            this.contextParameters.AsyncSend = asyncSend;
+            this.contextParameters.AsyncReceive = asyncReceive;            
+        }
+
+        [SetUp]
+        public void Setup()
+        {
+            this.channelBinding = Util.GetBinding();
+            this.GenerateExpectedResults();
+        }
+
+        [Test]
+        public void Run()
+        {
+            ChannelReceiver receiver = new 
ChannelReceiver(this.contextParameters, this.channelBinding);
+            ChannelSender sender = new ChannelSender(this.contextParameters, 
this.channelBinding);
+
+            sender.Run(SendToUri);
+            receiver.Run(ListenUri);
+
+            // Validate results.
+            bool comparisonOutcome = Util.CompareResults(this.expectedResults, 
receiver.Results);
+            Assert.AreEqual(true, comparisonOutcome, "The actual results were 
not as expected");
+            Assert.AreEqual(0, Util.GetMessageCountFromQueue(ListenUri), "The 
actual message count wasn't as expected.");
+        }
+
+        [TearDown]
+        public void Cleanup()
+        {
+            Util.PurgeQueue(ListenUri);
+        }
+
+        private void GenerateExpectedResults()
+        {
+            this.expectedResults = new List<string>();
+
+            if (this.contextParameters.NumberOfThreads == 1)
+            {
+                this.expectedResults.Add("Received message with Action 
'FirstMessage'");
+                this.expectedResults.Add("Received message with Action 
'Message 1'");
+                this.expectedResults.Add("Received message with Action 
'Message 2'");
+                this.expectedResults.Add("Received message with Action 
'Message 3'");
+                this.expectedResults.Add("Received message with Action 
'Message 4'");
+                this.expectedResults.Add("Received message with Action 
'Message 5'");
+            }
+            else
+            {
+                this.expectedResults.Add("Received message with Action 
'FirstMessage'");
+                this.expectedResults.Add("Received message with Action 
'Message'");
+                this.expectedResults.Add("Received message with Action 
'Message'");
+                this.expectedResults.Add("Received message with Action 
'Message'");
+                this.expectedResults.Add("Received message with Action 
'Message'");
+                this.expectedResults.Add("Received message with Action 
'Message'");
+            }
+        }
+    }
+}



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to