qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ai...@apache.org
Subject svn commit: r886998 [8/14] - in /qpid/trunk: ./ qpid/dotnet/Qpid.Buffer.Tests/ qpid/dotnet/Qpid.Buffer.Tests/Properties/ qpid/dotnet/Qpid.Buffer/ qpid/dotnet/Qpid.Client.Tests/BrokerDetails/ qpid/dotnet/Qpid.Client.Tests/Channel/ qpid/dotnet/Qpid.Clien...
Date Thu, 03 Dec 2009 23:55:56 GMT
Modified: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interactive/SendReceiveTest.cs
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interactive/SendReceiveTest.cs?rev=886998&r1=886997&r2=886998&view=diff
==============================================================================
--- qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interactive/SendReceiveTest.cs (original)
+++ qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interactive/SendReceiveTest.cs Thu Dec  3 23:55:48 2009
@@ -1,181 +1,181 @@
-/*
- *
- * 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.Threading;
-using log4net;
-using NUnit.Framework;
-using Apache.Qpid.Messaging;
-using Apache.Qpid.Client.Qms;
-using Apache.Qpid.Client;
-using Apache.Qpid.Integration.Tests.testcases;
-
-namespace Apache.Qpid.Integration.Tests.interactive
-{
-    /// <summary>
-    /// SendReceiveTest provides a quick interactive send-receive test, where the user is prompted to trigger each send or receive.
-    ///
-    /// <p><table id="crc"><caption>CRC Card</caption>
-    /// <tr><th> Responsibilities <th> Collaborations
-    /// <tr><td> Run an interactive send-receive loop prompting user to trigger each event.
-    /// </table>
-    /// </summary>
-    [TestFixture, Category("Interactive")]
-    public class SendReceiveTest : BaseMessagingTestFixture
-    {
-        /// <summary>Used for debugging purposes.</summary>
-        private static ILog log = LogManager.GetLogger(typeof(SendReceiveTest));
-
-        /// <summary>Defines the name of the test topic to use with the tests.</summary>
-        public const string TEST_ROUTING_KEY = "quicktestkey";
-
-        /// <summary>The number of consumers to test.</summary>
-        private const int CONSUMER_COUNT = 5;
-
-        /// <summary>The number of test messages to send.</summary>
-        private const int MESSAGE_COUNT = 10;
-
-        /// <summary>Monitor used to signal succesfull receipt of all test messages.</summary>
-        AutoResetEvent _finishedEvent;
-
-        /// <summary>Used to count test messages received so far.</summary>
-        private int _messageReceivedCount;
-
-        /// <summary>Used to hold the expected number of messages to receive.</summary>
-        private int expectedMessageCount;
-
-        /// <summary>Flag used to indicate that all messages really were received, and that the test did not just time out. </summary>
-        private bool allReceived;
-
-        /// <summary> Creates one producing end-point and many consuming end-points connected on a topic. </summary>
-        [SetUp]
-        public override void Init()
-        {
-            base.Init();
-
-            // Reset all test counts and flags.
-            _messageReceivedCount = 0;
-            allReceived = false;
-            _finishedEvent = new AutoResetEvent(false);
-        }
-
-        /// <summary> Cleans up all test end-points. </summary>
-        [TearDown]
-        public override void Shutdown()
-        {
-            try
-            {
-                // Close all end points for producer and consumers. 
-                // Producer is on 0, and consumers on 1 .. n, so loop is from 0 to n inclusive.
-                for (int i = 0; i <= CONSUMER_COUNT; i++)
-                {
-                    CloseEndPoint(i);
-                }
-            } 
-            finally 
-            {
-                base.Shutdown();
-            }
-        }
-
-        /// <summary> Check that all consumers on a topic each receive all message on it. </summary>
-        [Test]
-        public void AllConsumerReceiveAllMessagesOnTopic()
-        {
-            // Create end-points for all the consumers in the test.
-            for (int i = 1; i <= CONSUMER_COUNT; i++)
-            {
-                SetUpEndPoint(i, false, true, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.TOPIC,
-                              true, false, null);
-                testConsumer[i].OnMessage += new MessageReceivedDelegate(OnMessage);
-            }
-
-            // Create an end-point to publish to the test topic.
-            SetUpEndPoint(0, true, false, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.TOPIC,
-                          true, false, null);
-
-            expectedMessageCount = (MESSAGE_COUNT * CONSUMER_COUNT);
-
-            PromptAndWait("Press to send...");
-
-            for (int i = 0; i < MESSAGE_COUNT; i++)
-            {
-                testProducer[0].Send(testChannel[0].CreateTextMessage("A"));
-            }
-
-            _finishedEvent.WaitOne(new TimeSpan(0, 0, 0, 10), false);
-
-            PromptAndWait("Press to complete test...");
-
-            // Check that all messages really were received.
-            Assert.IsTrue(allReceived, "All messages were not received, only got " + _messageReceivedCount + " but wanted " + expectedMessageCount);
-        }
-
-        /// <summary> Check that consumers on the same queue receive each message once accross all consumers. </summary>
-        //[Test]
-        public void AllConsumerReceiveAllMessagesOnDirect()
-        {
-            // Create end-points for all the consumers in the test.
-            for (int i = 1; i <= CONSUMER_COUNT; i++)
-            {
-                SetUpEndPoint(i, false, true, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.DIRECT,
-                              true, false, null);
-                testConsumer[i].OnMessage += new MessageReceivedDelegate(OnMessage);
-            }
-
-            // Create an end-point to publish to the test topic.
-            SetUpEndPoint(0, true, false, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.DIRECT,
-                          true, false, null);
-
-            expectedMessageCount = MESSAGE_COUNT;
-
-            for (int i = 0; i < MESSAGE_COUNT; i++)
-            {
-                testProducer[0].Send(testChannel[0].CreateTextMessage("A"));
-            }
-
-            _finishedEvent.WaitOne(new TimeSpan(0, 0, 0, 10), false);
-
-            // Check that all messages really were received.
-            Assert.IsTrue(allReceived, "All messages were not received, only got: " + _messageReceivedCount + " but wanted " + expectedMessageCount);
-        }
-
-        /// <summary> Atomically increments the message count on every message, and signals once all messages in the test are received. </summary>
-        public void OnMessage(IMessage m)
-        {
-            int newCount = Interlocked.Increment(ref _messageReceivedCount);
-
-            if (newCount >= expectedMessageCount)
-            {
-                allReceived = true;
-                _finishedEvent.Set();
-            }
-        }        
-
-        /// <summary>Prompts the user on stdout and waits for a reply on stdin, using the specified prompt message.</summary>
-        ///
-        /// <param name="message">The message to prompt the user with.</param>
-        private void PromptAndWait(string message)
-        {
-            Console.WriteLine("\n" + message);
-            Console.ReadLine();
-        }
-    }
+/*
+ *
+ * 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.Threading;
+using log4net;
+using NUnit.Framework;
+using Apache.Qpid.Messaging;
+using Apache.Qpid.Client.Qms;
+using Apache.Qpid.Client;
+using Apache.Qpid.Integration.Tests.testcases;
+
+namespace Apache.Qpid.Integration.Tests.interactive
+{
+    /// <summary>
+    /// SendReceiveTest provides a quick interactive send-receive test, where the user is prompted to trigger each send or receive.
+    ///
+    /// <p><table id="crc"><caption>CRC Card</caption>
+    /// <tr><th> Responsibilities <th> Collaborations
+    /// <tr><td> Run an interactive send-receive loop prompting user to trigger each event.
+    /// </table>
+    /// </summary>
+    [TestFixture, Category("Interactive")]
+    public class SendReceiveTest : BaseMessagingTestFixture
+    {
+        /// <summary>Used for debugging purposes.</summary>
+        private static ILog log = LogManager.GetLogger(typeof(SendReceiveTest));
+
+        /// <summary>Defines the name of the test topic to use with the tests.</summary>
+        public const string TEST_ROUTING_KEY = "quicktestkey";
+
+        /// <summary>The number of consumers to test.</summary>
+        private const int CONSUMER_COUNT = 5;
+
+        /// <summary>The number of test messages to send.</summary>
+        private const int MESSAGE_COUNT = 10;
+
+        /// <summary>Monitor used to signal succesfull receipt of all test messages.</summary>
+        AutoResetEvent _finishedEvent;
+
+        /// <summary>Used to count test messages received so far.</summary>
+        private int _messageReceivedCount;
+
+        /// <summary>Used to hold the expected number of messages to receive.</summary>
+        private int expectedMessageCount;
+
+        /// <summary>Flag used to indicate that all messages really were received, and that the test did not just time out. </summary>
+        private bool allReceived;
+
+        /// <summary> Creates one producing end-point and many consuming end-points connected on a topic. </summary>
+        [SetUp]
+        public override void Init()
+        {
+            base.Init();
+
+            // Reset all test counts and flags.
+            _messageReceivedCount = 0;
+            allReceived = false;
+            _finishedEvent = new AutoResetEvent(false);
+        }
+
+        /// <summary> Cleans up all test end-points. </summary>
+        [TearDown]
+        public override void Shutdown()
+        {
+            try
+            {
+                // Close all end points for producer and consumers. 
+                // Producer is on 0, and consumers on 1 .. n, so loop is from 0 to n inclusive.
+                for (int i = 0; i <= CONSUMER_COUNT; i++)
+                {
+                    CloseEndPoint(i);
+                }
+            } 
+            finally 
+            {
+                base.Shutdown();
+            }
+        }
+
+        /// <summary> Check that all consumers on a topic each receive all message on it. </summary>
+        [Test]
+        public void AllConsumerReceiveAllMessagesOnTopic()
+        {
+            // Create end-points for all the consumers in the test.
+            for (int i = 1; i <= CONSUMER_COUNT; i++)
+            {
+                SetUpEndPoint(i, false, true, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.TOPIC,
+                              true, false, null);
+                testConsumer[i].OnMessage += new MessageReceivedDelegate(OnMessage);
+            }
+
+            // Create an end-point to publish to the test topic.
+            SetUpEndPoint(0, true, false, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.TOPIC,
+                          true, false, null);
+
+            expectedMessageCount = (MESSAGE_COUNT * CONSUMER_COUNT);
+
+            PromptAndWait("Press to send...");
+
+            for (int i = 0; i < MESSAGE_COUNT; i++)
+            {
+                testProducer[0].Send(testChannel[0].CreateTextMessage("A"));
+            }
+
+            _finishedEvent.WaitOne(new TimeSpan(0, 0, 0, 10), false);
+
+            PromptAndWait("Press to complete test...");
+
+            // Check that all messages really were received.
+            Assert.IsTrue(allReceived, "All messages were not received, only got " + _messageReceivedCount + " but wanted " + expectedMessageCount);
+        }
+
+        /// <summary> Check that consumers on the same queue receive each message once accross all consumers. </summary>
+        //[Test]
+        public void AllConsumerReceiveAllMessagesOnDirect()
+        {
+            // Create end-points for all the consumers in the test.
+            for (int i = 1; i <= CONSUMER_COUNT; i++)
+            {
+                SetUpEndPoint(i, false, true, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.DIRECT,
+                              true, false, null);
+                testConsumer[i].OnMessage += new MessageReceivedDelegate(OnMessage);
+            }
+
+            // Create an end-point to publish to the test topic.
+            SetUpEndPoint(0, true, false, TEST_ROUTING_KEY + testId, AcknowledgeMode.AutoAcknowledge, false, ExchangeNameDefaults.DIRECT,
+                          true, false, null);
+
+            expectedMessageCount = MESSAGE_COUNT;
+
+            for (int i = 0; i < MESSAGE_COUNT; i++)
+            {
+                testProducer[0].Send(testChannel[0].CreateTextMessage("A"));
+            }
+
+            _finishedEvent.WaitOne(new TimeSpan(0, 0, 0, 10), false);
+
+            // Check that all messages really were received.
+            Assert.IsTrue(allReceived, "All messages were not received, only got: " + _messageReceivedCount + " but wanted " + expectedMessageCount);
+        }
+
+        /// <summary> Atomically increments the message count on every message, and signals once all messages in the test are received. </summary>
+        public void OnMessage(IMessage m)
+        {
+            int newCount = Interlocked.Increment(ref _messageReceivedCount);
+
+            if (newCount >= expectedMessageCount)
+            {
+                allReceived = true;
+                _finishedEvent.Set();
+            }
+        }        
+
+        /// <summary>Prompts the user on stdout and waits for a reply on stdin, using the specified prompt message.</summary>
+        ///
+        /// <param name="message">The message to prompt the user with.</param>
+        private void PromptAndWait(string message)
+        {
+            Console.WriteLine("\n" + message);
+            Console.ReadLine();
+        }
+    }
 }
\ No newline at end of file

Propchange: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interactive/SendReceiveTest.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/InteropClientTestCase.cs
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/InteropClientTestCase.cs?rev=886998&r1=886997&r2=886998&view=diff
==============================================================================
--- qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/InteropClientTestCase.cs (original)
+++ qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/InteropClientTestCase.cs Thu Dec  3 23:55:48 2009
@@ -1,87 +1,87 @@
-/*
- *
- * 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.Qpid.Messaging;
-
-namespace Apache.Qpid.Integration.Tests.interop
-{
-    /// <summary> Defines the possible test case roles that an interop test case can take on. </summary>
-    public enum Roles { SENDER, RECEIVER };
-
-    /// <summary>
-    /// InteropClientTestCase provides an interface that classes implementing test cases from the interop testing spec
-    /// (http://cwiki.apache.org/confluence/display/qpid/Interop+Testing+Specification) should implement.
-    /// 
-    /// <p><table id="crc"><caption>CRC Card</caption>
-    /// <tr><th> Responsibilities
-    /// <tr><td> Supply the name of the test case that this implements.
-    /// <tr><td> Accept/Reject invites based on test parameters.
-    /// <tr><td> Adapt to assigned roles.
-    /// <tr><td> Perform test case actions.
-    /// <tr><td> Generate test reports.
-    /// </table>
-    /// </summary>
-    interface InteropClientTestCase
-    {
-        /// <summary>
-        /// Should provide the name of the test case that this class implements. The exact names are defined in the
-        /// interop testing spec.
-        /// </summary>
-        ///
-        /// <returns> The name of the test case that this implements. </returns>
-        string GetName();
-
-        /// <summary>
-        /// Determines whether the test invite that matched this test case is acceptable.
-        /// </summary>
-        ///
-        /// <param name="inviteMessage"> The invitation to accept or reject. </param>
-        ///
-        /// <returns> <tt>true</tt> to accept the invitation, <tt>false</tt> to reject it. </returns>
-        ///
-        /// @throws JMSException Any JMSException resulting from reading the message are allowed to fall through.
-        bool AcceptInvite(IMessage inviteMessage);
-
-        /// <summary>
-        /// Assigns the role to be played by this test case. The test parameters are fully specified in the
-        /// assignment message. When this method return the test case will be ready to execute.
-        /// </summary>
-        ///
-        /// <param name="role">              The role to be played; sender or receiver. </param>
-        /// <param name="assignRoleMessage"> The role assingment message, contains the full test parameters. </param>
-        void AssignRole(Roles role, IMessage assignRoleMessage);
-
-        /// <summary>
-        /// Performs the test case actions.
-        /// </summary>
-        void Start();
-
-        /// <summary>
-        /// Gets a report on the actions performed by the test case in its assigned role.
-        /// </summary>
-        ///
-        /// <param name="session"> The session to create the report message in. </param>
-        ///
-        /// <returns> The report message. </returns>
-        IMessage GetReport(IChannel channel);
-    }
-}
+/*
+ *
+ * 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.Qpid.Messaging;
+
+namespace Apache.Qpid.Integration.Tests.interop
+{
+    /// <summary> Defines the possible test case roles that an interop test case can take on. </summary>
+    public enum Roles { SENDER, RECEIVER };
+
+    /// <summary>
+    /// InteropClientTestCase provides an interface that classes implementing test cases from the interop testing spec
+    /// (http://cwiki.apache.org/confluence/display/qpid/Interop+Testing+Specification) should implement.
+    /// 
+    /// <p><table id="crc"><caption>CRC Card</caption>
+    /// <tr><th> Responsibilities
+    /// <tr><td> Supply the name of the test case that this implements.
+    /// <tr><td> Accept/Reject invites based on test parameters.
+    /// <tr><td> Adapt to assigned roles.
+    /// <tr><td> Perform test case actions.
+    /// <tr><td> Generate test reports.
+    /// </table>
+    /// </summary>
+    interface InteropClientTestCase
+    {
+        /// <summary>
+        /// Should provide the name of the test case that this class implements. The exact names are defined in the
+        /// interop testing spec.
+        /// </summary>
+        ///
+        /// <returns> The name of the test case that this implements. </returns>
+        string GetName();
+
+        /// <summary>
+        /// Determines whether the test invite that matched this test case is acceptable.
+        /// </summary>
+        ///
+        /// <param name="inviteMessage"> The invitation to accept or reject. </param>
+        ///
+        /// <returns> <tt>true</tt> to accept the invitation, <tt>false</tt> to reject it. </returns>
+        ///
+        /// @throws JMSException Any JMSException resulting from reading the message are allowed to fall through.
+        bool AcceptInvite(IMessage inviteMessage);
+
+        /// <summary>
+        /// Assigns the role to be played by this test case. The test parameters are fully specified in the
+        /// assignment message. When this method return the test case will be ready to execute.
+        /// </summary>
+        ///
+        /// <param name="role">              The role to be played; sender or receiver. </param>
+        /// <param name="assignRoleMessage"> The role assingment message, contains the full test parameters. </param>
+        void AssignRole(Roles role, IMessage assignRoleMessage);
+
+        /// <summary>
+        /// Performs the test case actions.
+        /// </summary>
+        void Start();
+
+        /// <summary>
+        /// Gets a report on the actions performed by the test case in its assigned role.
+        /// </summary>
+        ///
+        /// <param name="session"> The session to create the report message in. </param>
+        ///
+        /// <returns> The report message. </returns>
+        IMessage GetReport(IChannel channel);
+    }
+}

Propchange: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/InteropClientTestCase.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase1DummyRun.cs
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase1DummyRun.cs?rev=886998&r1=886997&r2=886998&view=diff
==============================================================================
--- qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase1DummyRun.cs (original)
+++ qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase1DummyRun.cs Thu Dec  3 23:55:48 2009
@@ -1,89 +1,89 @@
-/*
- *
- * 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 log4net;
-using Apache.Qpid.Messaging;
-
-namespace Apache.Qpid.Integration.Tests.interop.TestCases
-{
-    /// <summary>
-    /// Implements tet case 1, dummy run. This test case sends no test messages, it exists to confirm that the test harness
-    /// is interacting with the coordinator correctly.
-    ///
-    /// <p><table id="crc"><caption>CRC Card</caption>
-    /// <tr><th> Responsibilities <th> Collaborations
-    /// <tr><td> Supply the name of the test case that this implements.
-    /// <tr><td> Accept/Reject invites based on test parameters.
-    /// <tr><td> Adapt to assigned roles.
-    /// <tr><td> Perform test case actions.
-    /// <tr><td> Generate test reports.
-    /// </table>
-    /// </summary>
-    public class TestCase1DummyRun : InteropClientTestCase
-    {
-        private static ILog log = LogManager.GetLogger(typeof(TestCase1DummyRun));
-
-        public String GetName()
-        {
-            log.Debug("public String getName(): called");
-
-            return "TC1_DummyRun";
-        }
-
-        public bool AcceptInvite(IMessage inviteMessage)
-        {
-            log.Debug("public boolean acceptInvite(Message inviteMessage): called");
-
-            // Test parameters don't matter, accept all invites.
-            return true;
-        }
-
-        public void AssignRole(Roles role, IMessage assignRoleMessage)
-        {
-            log.Debug("public void assignRole(Roles role, Message assignRoleMessage): called");
-
-            // Do nothing, both roles are the same.
-        }
-
-        public void Start()
-        {
-            log.Debug("public void start(): called");
-
-            // Do nothing.
-        }
-
-        public IMessage GetReport(IChannel channel)
-        {
-            log.Debug("public Message getReport(Session session): called");
-
-            // Generate a dummy report, the coordinator expects a report but doesn't care what it is.
-            return channel.CreateTextMessage("Dummy Run, Ok.");
-        }
-
-        public void OnMessage(IMessage message)
-        {
-            log.Debug("public void onMessage(Message message = " + message + "): called");
-
-            // Ignore any messages.
-        }
-    }
-}
+/*
+ *
+ * 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 log4net;
+using Apache.Qpid.Messaging;
+
+namespace Apache.Qpid.Integration.Tests.interop.TestCases
+{
+    /// <summary>
+    /// Implements tet case 1, dummy run. This test case sends no test messages, it exists to confirm that the test harness
+    /// is interacting with the coordinator correctly.
+    ///
+    /// <p><table id="crc"><caption>CRC Card</caption>
+    /// <tr><th> Responsibilities <th> Collaborations
+    /// <tr><td> Supply the name of the test case that this implements.
+    /// <tr><td> Accept/Reject invites based on test parameters.
+    /// <tr><td> Adapt to assigned roles.
+    /// <tr><td> Perform test case actions.
+    /// <tr><td> Generate test reports.
+    /// </table>
+    /// </summary>
+    public class TestCase1DummyRun : InteropClientTestCase
+    {
+        private static ILog log = LogManager.GetLogger(typeof(TestCase1DummyRun));
+
+        public String GetName()
+        {
+            log.Debug("public String getName(): called");
+
+            return "TC1_DummyRun";
+        }
+
+        public bool AcceptInvite(IMessage inviteMessage)
+        {
+            log.Debug("public boolean acceptInvite(Message inviteMessage): called");
+
+            // Test parameters don't matter, accept all invites.
+            return true;
+        }
+
+        public void AssignRole(Roles role, IMessage assignRoleMessage)
+        {
+            log.Debug("public void assignRole(Roles role, Message assignRoleMessage): called");
+
+            // Do nothing, both roles are the same.
+        }
+
+        public void Start()
+        {
+            log.Debug("public void start(): called");
+
+            // Do nothing.
+        }
+
+        public IMessage GetReport(IChannel channel)
+        {
+            log.Debug("public Message getReport(Session session): called");
+
+            // Generate a dummy report, the coordinator expects a report but doesn't care what it is.
+            return channel.CreateTextMessage("Dummy Run, Ok.");
+        }
+
+        public void OnMessage(IMessage message)
+        {
+            log.Debug("public void onMessage(Message message = " + message + "): called");
+
+            // Ignore any messages.
+        }
+    }
+}

Propchange: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase1DummyRun.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase2BasicP2P.cs
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase2BasicP2P.cs?rev=886998&r1=886997&r2=886998&view=diff
==============================================================================
--- qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase2BasicP2P.cs (original)
+++ qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase2BasicP2P.cs Thu Dec  3 23:55:48 2009
@@ -1,205 +1,205 @@
-/*
- *
- * 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 log4net;
-using Apache.Qpid.Messaging;
-
-namespace Apache.Qpid.Integration.Tests.interop.TestCases
-{
-    /// <summary>
-    /// Implements test case 2, basic P2P. Sends/receives a specified number of messages to a specified route on the
-    /// default direct exchange. Produces reports on the actual number of messages sent/received.
-    ///
-    /// <p><table id="crc"><caption>CRC Card</caption>
-    /// <tr><th> Responsibilities <th> Collaborations
-    /// <tr><td> Supply the name of the test case that this implements.
-    /// <tr><td> Accept/Reject invites based on test parameters.
-    /// <tr><td> Adapt to assigned roles.
-    /// <tr><td> Send required number of test messages.
-    /// <tr><td> Generate test reports.
-    /// </table>
-    /// </summary>
-    public class TestCase2BasicP2P : InteropClientTestCase
-    {
-        /// <summary> Used for debugging. </summary>
-        private static ILog log = LogManager.GetLogger(typeof(TestCase2BasicP2P));
-
-        /// <summary> Holds the count of test messages received. </summary>
-        private int messageCount;
-
-        /// <summary> The role to be played by the test. </summary>
-        private Roles role;
-
-        /// <summary> The number of test messages to send. </summary>
-        private int numMessages;
-
-        /// <summary> The routing key to send them to on the default direct exchange. </summary>
-        private string sendDestination;
-
-        /// <summary> The connection to send the test messages on. </summary>
-        private IConnection connection;
-
-        /// <summary> The session to send the test messages on. </summary>
-        private IChannel channel;
-
-        /// <summary> The producer to send the test messages with. </summary>
-        private IMessagePublisher publisher;
-
-        /// <summary>
-        /// Should provide the name of the test case that this class implements. The exact names are defined in the
-        /// interop testing spec.
-        /// </summary>
-        ///
-        /// <returns> The name of the test case that this implements. </returns>
-        public String GetName()
-        {
-            log.Debug("public String GetName(): called");
-    
-            return "TC2_BasicP2P";
-        }
-
-        /// <summary>
-        /// Determines whether the test invite that matched this test case is acceptable.
-        /// </summary>
-        /// 
-        /// <param name="inviteMessage"> The invitation to accept or reject. </param>
-        ///
-        /// <returns> <tt>true</tt> to accept the invitation, <tt>false</tt> to reject it. </returns>
-        public bool AcceptInvite(IMessage inviteMessage) 
-        {
-            log.Debug("public boolean AcceptInvite(Message inviteMessage = " + inviteMessage + "): called");
-
-            // All invites are acceptable.
-            return true;
-        }
-
-        /// <summary>
-        /// Assigns the role to be played by this test case. The test parameters are fully specified in the
-        /// assignment message. When this method return the test case will be ready to execute.
-        /// </summary>
-        ///
-        /// <param name="role">              The role to be played; sender or receiver. </param>
-        /// <param name="assignRoleMessage"> The role assingment message, contains the full test parameters. </param>
-        public void AssignRole(Roles role, IMessage assignRoleMessage) 
-        {
-            log.Debug("public void AssignRole(Roles role = " + role + ", Message assignRoleMessage = " + assignRoleMessage
-                + "): called");
-    
-            // Reset the message count for a new test.
-            messageCount = 0;
-
-            // Take note of the role to be played.
-            this.role = role;
-
-            // Create a new connection to pass the test messages on.
-            connection =
-                TestClient.CreateConnection(TestClient.brokerUrl, TestClient.virtualHost);
-            channel = connection.CreateChannel(false, AcknowledgeMode.AutoAcknowledge);
-
-            // Extract and retain the test parameters.
-            numMessages = assignRoleMessage.Headers.GetInt("P2P_NUM_MESSAGES");
-            string queueAndKeyName = assignRoleMessage.Headers.GetString("P2P_QUEUE_AND_KEY_NAME");
-            channel.DeclareQueue(queueAndKeyName, false, true, true);
-            channel.Bind(queueAndKeyName, ExchangeNameDefaults.DIRECT, queueAndKeyName);
-            sendDestination = queueAndKeyName;
-
-            log.Debug("numMessages = " + numMessages);
-            log.Debug("sendDestination = " + sendDestination);
-            log.Debug("role = " + role);
-
-            switch (role)
-            {
-            // Check if the sender role is being assigned, and set up a message producer if so.
-            case Roles.SENDER:
-                publisher = channel.CreatePublisherBuilder()
-                .WithExchangeName(ExchangeNameDefaults.DIRECT)
-                .WithRoutingKey(sendDestination)
-                .Create();
-                break;
-
-            // Otherwise the receiver role is being assigned, so set this up to listen for messages.
-            case Roles.RECEIVER:
-                IMessageConsumer consumer = channel.CreateConsumerBuilder(sendDestination).Create();
-                consumer.OnMessage += new MessageReceivedDelegate(OnMessage);
-
-                break;
-            }
-
-            connection.Start();
-        }
-
-        /// <summary> Performs the test case actions. </summary>
-        public void Start()
-        {
-            log.Debug("public void start(): called");
-
-            // Check that the sender role is being performed.
-            if (role == Roles.SENDER)
-            {
-                IMessage testMessage = channel.CreateTextMessage("test");
-
-                for (int i = 0; i < numMessages; i++)
-                {
-                    publisher.Send(testMessage);
-
-                    // Increment the message count.
-                    messageCount++;
-                }
-            }
-        }
-
-        /// <summary>
-        /// Gets a report on the actions performed by the test case in its assigned role.
-        /// </summary>
-        ///
-        /// <param name="session"> The session to create the report message in. </param>
-        ///
-        /// <returns> The report message. </returns>
-        public IMessage GetReport(IChannel channel)
-        {
-            log.Debug("public Message GetReport(IChannel channel): called");
-
-            // Close the test connection.
-            //connection.Stop();
-
-            // Generate a report message containing the count of the number of messages passed.
-            IMessage report = channel.CreateMessage();
-            //report.Headers.SetString("CONTROL_TYPE", "REPORT");
-            report.Headers.SetInt("MESSAGE_COUNT", messageCount);
-
-            return report;
-        }
-
-        /// <summary>
-        /// Counts incoming test messages.
-        /// </summary>
-        ///
-        /// <param name="message"> The incoming test message. </param>
-        public void OnMessage(IMessage message)
-        {
-            log.Debug("public void OnMessage(IMessage message = " + message + "): called");
-
-            // Increment the message count.
-            messageCount++;
-        }
-    }
-}
+/*
+ *
+ * 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 log4net;
+using Apache.Qpid.Messaging;
+
+namespace Apache.Qpid.Integration.Tests.interop.TestCases
+{
+    /// <summary>
+    /// Implements test case 2, basic P2P. Sends/receives a specified number of messages to a specified route on the
+    /// default direct exchange. Produces reports on the actual number of messages sent/received.
+    ///
+    /// <p><table id="crc"><caption>CRC Card</caption>
+    /// <tr><th> Responsibilities <th> Collaborations
+    /// <tr><td> Supply the name of the test case that this implements.
+    /// <tr><td> Accept/Reject invites based on test parameters.
+    /// <tr><td> Adapt to assigned roles.
+    /// <tr><td> Send required number of test messages.
+    /// <tr><td> Generate test reports.
+    /// </table>
+    /// </summary>
+    public class TestCase2BasicP2P : InteropClientTestCase
+    {
+        /// <summary> Used for debugging. </summary>
+        private static ILog log = LogManager.GetLogger(typeof(TestCase2BasicP2P));
+
+        /// <summary> Holds the count of test messages received. </summary>
+        private int messageCount;
+
+        /// <summary> The role to be played by the test. </summary>
+        private Roles role;
+
+        /// <summary> The number of test messages to send. </summary>
+        private int numMessages;
+
+        /// <summary> The routing key to send them to on the default direct exchange. </summary>
+        private string sendDestination;
+
+        /// <summary> The connection to send the test messages on. </summary>
+        private IConnection connection;
+
+        /// <summary> The session to send the test messages on. </summary>
+        private IChannel channel;
+
+        /// <summary> The producer to send the test messages with. </summary>
+        private IMessagePublisher publisher;
+
+        /// <summary>
+        /// Should provide the name of the test case that this class implements. The exact names are defined in the
+        /// interop testing spec.
+        /// </summary>
+        ///
+        /// <returns> The name of the test case that this implements. </returns>
+        public String GetName()
+        {
+            log.Debug("public String GetName(): called");
+    
+            return "TC2_BasicP2P";
+        }
+
+        /// <summary>
+        /// Determines whether the test invite that matched this test case is acceptable.
+        /// </summary>
+        /// 
+        /// <param name="inviteMessage"> The invitation to accept or reject. </param>
+        ///
+        /// <returns> <tt>true</tt> to accept the invitation, <tt>false</tt> to reject it. </returns>
+        public bool AcceptInvite(IMessage inviteMessage) 
+        {
+            log.Debug("public boolean AcceptInvite(Message inviteMessage = " + inviteMessage + "): called");
+
+            // All invites are acceptable.
+            return true;
+        }
+
+        /// <summary>
+        /// Assigns the role to be played by this test case. The test parameters are fully specified in the
+        /// assignment message. When this method return the test case will be ready to execute.
+        /// </summary>
+        ///
+        /// <param name="role">              The role to be played; sender or receiver. </param>
+        /// <param name="assignRoleMessage"> The role assingment message, contains the full test parameters. </param>
+        public void AssignRole(Roles role, IMessage assignRoleMessage) 
+        {
+            log.Debug("public void AssignRole(Roles role = " + role + ", Message assignRoleMessage = " + assignRoleMessage
+                + "): called");
+    
+            // Reset the message count for a new test.
+            messageCount = 0;
+
+            // Take note of the role to be played.
+            this.role = role;
+
+            // Create a new connection to pass the test messages on.
+            connection =
+                TestClient.CreateConnection(TestClient.brokerUrl, TestClient.virtualHost);
+            channel = connection.CreateChannel(false, AcknowledgeMode.AutoAcknowledge);
+
+            // Extract and retain the test parameters.
+            numMessages = assignRoleMessage.Headers.GetInt("P2P_NUM_MESSAGES");
+            string queueAndKeyName = assignRoleMessage.Headers.GetString("P2P_QUEUE_AND_KEY_NAME");
+            channel.DeclareQueue(queueAndKeyName, false, true, true);
+            channel.Bind(queueAndKeyName, ExchangeNameDefaults.DIRECT, queueAndKeyName);
+            sendDestination = queueAndKeyName;
+
+            log.Debug("numMessages = " + numMessages);
+            log.Debug("sendDestination = " + sendDestination);
+            log.Debug("role = " + role);
+
+            switch (role)
+            {
+            // Check if the sender role is being assigned, and set up a message producer if so.
+            case Roles.SENDER:
+                publisher = channel.CreatePublisherBuilder()
+                .WithExchangeName(ExchangeNameDefaults.DIRECT)
+                .WithRoutingKey(sendDestination)
+                .Create();
+                break;
+
+            // Otherwise the receiver role is being assigned, so set this up to listen for messages.
+            case Roles.RECEIVER:
+                IMessageConsumer consumer = channel.CreateConsumerBuilder(sendDestination).Create();
+                consumer.OnMessage += new MessageReceivedDelegate(OnMessage);
+
+                break;
+            }
+
+            connection.Start();
+        }
+
+        /// <summary> Performs the test case actions. </summary>
+        public void Start()
+        {
+            log.Debug("public void start(): called");
+
+            // Check that the sender role is being performed.
+            if (role == Roles.SENDER)
+            {
+                IMessage testMessage = channel.CreateTextMessage("test");
+
+                for (int i = 0; i < numMessages; i++)
+                {
+                    publisher.Send(testMessage);
+
+                    // Increment the message count.
+                    messageCount++;
+                }
+            }
+        }
+
+        /// <summary>
+        /// Gets a report on the actions performed by the test case in its assigned role.
+        /// </summary>
+        ///
+        /// <param name="session"> The session to create the report message in. </param>
+        ///
+        /// <returns> The report message. </returns>
+        public IMessage GetReport(IChannel channel)
+        {
+            log.Debug("public Message GetReport(IChannel channel): called");
+
+            // Close the test connection.
+            //connection.Stop();
+
+            // Generate a report message containing the count of the number of messages passed.
+            IMessage report = channel.CreateMessage();
+            //report.Headers.SetString("CONTROL_TYPE", "REPORT");
+            report.Headers.SetInt("MESSAGE_COUNT", messageCount);
+
+            return report;
+        }
+
+        /// <summary>
+        /// Counts incoming test messages.
+        /// </summary>
+        ///
+        /// <param name="message"> The incoming test message. </param>
+        public void OnMessage(IMessage message)
+        {
+            log.Debug("public void OnMessage(IMessage message = " + message + "): called");
+
+            // Increment the message count.
+            messageCount++;
+        }
+    }
+}

Propchange: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase2BasicP2P.cs
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase3BasicPubSub.cs
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase3BasicPubSub.cs?rev=886998&r1=886997&r2=886998&view=diff
==============================================================================
--- qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase3BasicPubSub.cs (original)
+++ qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase3BasicPubSub.cs Thu Dec  3 23:55:48 2009
@@ -1,244 +1,244 @@
-/*
- *
- * 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 log4net;
-using Apache.Qpid.Messaging;
-
-namespace Apache.Qpid.Integration.Tests.interop.TestCases
-{
-    /// <summary>
-    /// Implements test case 3, basic pub/sub. Sends/received a specified number of messages to a specified route on the
-    /// default topic exchange, using the specified number of receiver connections. Produces reports on the actual number of
-    /// messages sent/received.
-    ///
-    /// <p><table id="crc"><caption>CRC Card</caption>
-    /// <tr><th> Responsibilities <th> Collaborations
-    /// <tr><td> Supply the name of the test case that this implements.
-    /// <tr><td> Accept/Reject invites based on test parameters.
-    /// <tr><td> Adapt to assigned roles.
-    /// <tr><td> Send required number of test messages using pub/sub.
-    /// <tr><td> Generate test reports.
-    /// </table>
-    /// </summary>
-    public class TestCase3BasicPubSub : InteropClientTestCase
-    {
-        /// <summary> Used for debugging. </summary>
-        private static ILog log = LogManager.GetLogger(typeof(TestCase3BasicPubSub));
-    
-        /// <summary> Holds the count of test messages received. </summary>
-        private int messageCount;
-
-        /// <summary> The role to be played by the test. </summary>
-        private Roles role;
-
-        /// <summary> The number of test messages to send. </summary>
-        private int numMessages;
-
-        /// <summary> The number of receiver connection to use. </summary>
-        private int numReceivers;
-
-        /// <summary> The routing key to send them to on the default direct exchange. </summary>
-        private string sendDestination;
-
-        /// <summary> The connections to send/receive the test messages on. </summary>
-        private IConnection[] connection;
-
-        /// <summary> The sessions to send/receive the test messages on. </summary>
-        private IChannel[] channel;
-
-        /// <summary> The producer to send the test messages with. </summary>
-        IMessagePublisher publisher;
-
-        /// <summary>
-        /// Should provide the name of the test case that this class implements. The exact names are defined in the
-        /// interop testing spec.
-        /// </summary>
-        ///
-        /// <returns> The name of the test case that this implements. </returns>
-        public String GetName()
-        {
-            log.Debug("public String GetName(): called");
-    
-            return "TC3_BasicPubSub";
-        }
-    
-        /// <summary>
-        /// Determines whether the test invite that matched this test case is acceptable.
-        /// </summary>
-        ///
-        /// <param name="inviteMessage"> The invitation to accept or reject. </param>
-        ///
-        /// <returns> <tt>true</tt> to accept the invitation, <tt>false</tt> to reject it. </returns>
-        public bool AcceptInvite(IMessage inviteMessage) 
-        {
-            log.Debug("public boolean AcceptInvite(IMessage inviteMessage = " + inviteMessage + "): called");
-    
-            // All invites are acceptable.
-            return true;
-        }
-    
-        /// <summary>
-        /// Assigns the role to be played by this test case. The test parameters are fully specified in the
-        /// assignment message. When this method return the test case will be ready to execute.
-        /// </summary>
-        ///
-        /// <param name="role">              The role to be played; sender or receiver. </param>
-        /// <param name="assignRoleMessage"> The role assingment message, contains the full test parameters. </param>
-        public void AssignRole(Roles role, IMessage assignRoleMessage) 
-        {
-            log.Debug("public void assignRole(Roles role = " + role + ", IMessage assignRoleMessage = " + assignRoleMessage
-                + "): called");
-    
-            // Reset the message count for a new test.
-            messageCount = 0;
-    
-            // Take note of the role to be played.
-            this.role = role;
-    
-            // Extract and retain the test parameters.
-            numMessages = assignRoleMessage.Headers.GetInt("PUBSUB_NUM_MESSAGES");
-            numReceivers = assignRoleMessage.Headers.GetInt("PUBSUB_NUM_RECEIVERS");
-            string sendKey = assignRoleMessage.Headers.GetString("PUBSUB_KEY");
-            sendDestination = sendKey;
-    
-            log.Debug("numMessages = " + numMessages);
-            log.Debug("numReceivers = " + numReceivers);
-            log.Debug("sendKey = " + sendKey);
-            log.Debug("role = " + role);
-    
-            switch (role)
-            {
-            // Check if the sender role is being assigned, and set up a single message producer if so.
-            case Roles.SENDER:
-                // Create a new connection to pass the test messages on.
-                connection = new IConnection[1];
-                channel = new IChannel[1];
-    
-                connection[0] =
-                    TestClient.CreateConnection(TestClient.brokerUrl, TestClient.virtualHost);
-                channel[0] = connection[0].CreateChannel(false, AcknowledgeMode.AutoAcknowledge);
-    
-                // Extract and retain the test parameters.
-                publisher = channel[0].CreatePublisherBuilder()
-                    .WithExchangeName(ExchangeNameDefaults.TOPIC)
-                    .WithRoutingKey(sendDestination)
-                    .WithMandatory(false)
-                    .WithImmediate(false)
-                    .Create();
-                break;
-    
-            // Otherwise the receiver role is being assigned, so set this up to listen for messages on the required number
-            // of receiver connections.
-            case Roles.RECEIVER:
-                // Create the required number of receiver connections.
-                connection = new IConnection[numReceivers];
-                channel = new IChannel[numReceivers];
-    
-                for (int i = 0; i < numReceivers; i++)
-                {
-                    connection[i] =
-                        TestClient.CreateConnection(TestClient.brokerUrl, TestClient.virtualHost);
-                    channel[i] = connection[i].CreateChannel(false, AcknowledgeMode.AutoAcknowledge);
-
-                    IMessageConsumer consumer = channel[i].CreateConsumerBuilder(sendDestination).Create();
-                    consumer.OnMessage += new MessageReceivedDelegate(OnMessage);
-                }
-    
-                break;
-            }
-    
-            // Start all the connection dispatcher threads running.
-            foreach (IConnection con in connection)
-            {
-                con.Start();
-            }
-        }
-    
-        /// <summary>
-        /// Performs the test case actions.
-        /// </summary>
-        public void Start() 
-        {
-            log.Debug("public void Start(): called");
-    
-            // Check that the sender role is being performed.
-            if (role == Roles.SENDER)
-            {
-                IMessage testMessage = channel[0].CreateTextMessage("test");
-    
-                for (int i = 0; i < numMessages; i++)
-                {
-                    publisher.Send(testMessage);
-    
-                    // Increment the message count.
-                    messageCount++;
-                }
-            }
-        }
-    
-        /// <summary>
-        /// Gets a report on the actions performed by the test case in its assigned role.
-        /// </summary>
-        ///
-        /// <param name="session"> The session to create the report message in. </param>
-        ///
-        /// <returns> The report message. </returns>
-        public IMessage GetReport(IChannel channel) 
-        {
-            log.Debug("public IMessage getReport(IChannel channel): called");
-    
-            // Close the test connections.
-            /*foreach (IConnection con in connection)
-            {
-                try
-                {
-                    con.Stop();
-                }
-                catch (AMQConnectionClosedException e)
-                {
-                    // The connection has already died due to an error. Log this as a warning.
-                    log.Warn("Connection already closed.");
-                }
-            }*/
-    
-            // Generate a report message containing the count of the number of messages passed.
-            IMessage report = channel.CreateMessage();
-            //report.Headers.SetString("CONTROL_TYPE", "REPORT");
-            report.Headers.SetInt("MESSAGE_COUNT", messageCount);
-    
-            return report;
-        }
-    
-        /// <summary>
-        /// Counts incoming test messages.
-        /// </summary>
-        ///
-        /// <param name="message"> The incoming test message. </param>
-        public void OnMessage(IMessage message)
-        {
-            log.Debug("public void onMessage(IMessage message = " + message + "): called");
-    
-            // Increment the message count.
-            messageCount++;
-        }
-    }
-}
+/*
+ *
+ * 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 log4net;
+using Apache.Qpid.Messaging;
+
+namespace Apache.Qpid.Integration.Tests.interop.TestCases
+{
+    /// <summary>
+    /// Implements test case 3, basic pub/sub. Sends/received a specified number of messages to a specified route on the
+    /// default topic exchange, using the specified number of receiver connections. Produces reports on the actual number of
+    /// messages sent/received.
+    ///
+    /// <p><table id="crc"><caption>CRC Card</caption>
+    /// <tr><th> Responsibilities <th> Collaborations
+    /// <tr><td> Supply the name of the test case that this implements.
+    /// <tr><td> Accept/Reject invites based on test parameters.
+    /// <tr><td> Adapt to assigned roles.
+    /// <tr><td> Send required number of test messages using pub/sub.
+    /// <tr><td> Generate test reports.
+    /// </table>
+    /// </summary>
+    public class TestCase3BasicPubSub : InteropClientTestCase
+    {
+        /// <summary> Used for debugging. </summary>
+        private static ILog log = LogManager.GetLogger(typeof(TestCase3BasicPubSub));
+    
+        /// <summary> Holds the count of test messages received. </summary>
+        private int messageCount;
+
+        /// <summary> The role to be played by the test. </summary>
+        private Roles role;
+
+        /// <summary> The number of test messages to send. </summary>
+        private int numMessages;
+
+        /// <summary> The number of receiver connection to use. </summary>
+        private int numReceivers;
+
+        /// <summary> The routing key to send them to on the default direct exchange. </summary>
+        private string sendDestination;
+
+        /// <summary> The connections to send/receive the test messages on. </summary>
+        private IConnection[] connection;
+
+        /// <summary> The sessions to send/receive the test messages on. </summary>
+        private IChannel[] channel;
+
+        /// <summary> The producer to send the test messages with. </summary>
+        IMessagePublisher publisher;
+
+        /// <summary>
+        /// Should provide the name of the test case that this class implements. The exact names are defined in the
+        /// interop testing spec.
+        /// </summary>
+        ///
+        /// <returns> The name of the test case that this implements. </returns>
+        public String GetName()
+        {
+            log.Debug("public String GetName(): called");
+    
+            return "TC3_BasicPubSub";
+        }
+    
+        /// <summary>
+        /// Determines whether the test invite that matched this test case is acceptable.
+        /// </summary>
+        ///
+        /// <param name="inviteMessage"> The invitation to accept or reject. </param>
+        ///
+        /// <returns> <tt>true</tt> to accept the invitation, <tt>false</tt> to reject it. </returns>
+        public bool AcceptInvite(IMessage inviteMessage) 
+        {
+            log.Debug("public boolean AcceptInvite(IMessage inviteMessage = " + inviteMessage + "): called");
+    
+            // All invites are acceptable.
+            return true;
+        }
+    
+        /// <summary>
+        /// Assigns the role to be played by this test case. The test parameters are fully specified in the
+        /// assignment message. When this method return the test case will be ready to execute.
+        /// </summary>
+        ///
+        /// <param name="role">              The role to be played; sender or receiver. </param>
+        /// <param name="assignRoleMessage"> The role assingment message, contains the full test parameters. </param>
+        public void AssignRole(Roles role, IMessage assignRoleMessage) 
+        {
+            log.Debug("public void assignRole(Roles role = " + role + ", IMessage assignRoleMessage = " + assignRoleMessage
+                + "): called");
+    
+            // Reset the message count for a new test.
+            messageCount = 0;
+    
+            // Take note of the role to be played.
+            this.role = role;
+    
+            // Extract and retain the test parameters.
+            numMessages = assignRoleMessage.Headers.GetInt("PUBSUB_NUM_MESSAGES");
+            numReceivers = assignRoleMessage.Headers.GetInt("PUBSUB_NUM_RECEIVERS");
+            string sendKey = assignRoleMessage.Headers.GetString("PUBSUB_KEY");
+            sendDestination = sendKey;
+    
+            log.Debug("numMessages = " + numMessages);
+            log.Debug("numReceivers = " + numReceivers);
+            log.Debug("sendKey = " + sendKey);
+            log.Debug("role = " + role);
+    
+            switch (role)
+            {
+            // Check if the sender role is being assigned, and set up a single message producer if so.
+            case Roles.SENDER:
+                // Create a new connection to pass the test messages on.
+                connection = new IConnection[1];
+                channel = new IChannel[1];
+    
+                connection[0] =
+                    TestClient.CreateConnection(TestClient.brokerUrl, TestClient.virtualHost);
+                channel[0] = connection[0].CreateChannel(false, AcknowledgeMode.AutoAcknowledge);
+    
+                // Extract and retain the test parameters.
+                publisher = channel[0].CreatePublisherBuilder()
+                    .WithExchangeName(ExchangeNameDefaults.TOPIC)
+                    .WithRoutingKey(sendDestination)
+                    .WithMandatory(false)
+                    .WithImmediate(false)
+                    .Create();
+                break;
+    
+            // Otherwise the receiver role is being assigned, so set this up to listen for messages on the required number
+            // of receiver connections.
+            case Roles.RECEIVER:
+                // Create the required number of receiver connections.
+                connection = new IConnection[numReceivers];
+                channel = new IChannel[numReceivers];
+    
+                for (int i = 0; i < numReceivers; i++)
+                {
+                    connection[i] =
+                        TestClient.CreateConnection(TestClient.brokerUrl, TestClient.virtualHost);
+                    channel[i] = connection[i].CreateChannel(false, AcknowledgeMode.AutoAcknowledge);
+
+                    IMessageConsumer consumer = channel[i].CreateConsumerBuilder(sendDestination).Create();
+                    consumer.OnMessage += new MessageReceivedDelegate(OnMessage);
+                }
+    
+                break;
+            }
+    
+            // Start all the connection dispatcher threads running.
+            foreach (IConnection con in connection)
+            {
+                con.Start();
+            }
+        }
+    
+        /// <summary>
+        /// Performs the test case actions.
+        /// </summary>
+        public void Start() 
+        {
+            log.Debug("public void Start(): called");
+    
+            // Check that the sender role is being performed.
+            if (role == Roles.SENDER)
+            {
+                IMessage testMessage = channel[0].CreateTextMessage("test");
+    
+                for (int i = 0; i < numMessages; i++)
+                {
+                    publisher.Send(testMessage);
+    
+                    // Increment the message count.
+                    messageCount++;
+                }
+            }
+        }
+    
+        /// <summary>
+        /// Gets a report on the actions performed by the test case in its assigned role.
+        /// </summary>
+        ///
+        /// <param name="session"> The session to create the report message in. </param>
+        ///
+        /// <returns> The report message. </returns>
+        public IMessage GetReport(IChannel channel) 
+        {
+            log.Debug("public IMessage getReport(IChannel channel): called");
+    
+            // Close the test connections.
+            /*foreach (IConnection con in connection)
+            {
+                try
+                {
+                    con.Stop();
+                }
+                catch (AMQConnectionClosedException e)
+                {
+                    // The connection has already died due to an error. Log this as a warning.
+                    log.Warn("Connection already closed.");
+                }
+            }*/
+    
+            // Generate a report message containing the count of the number of messages passed.
+            IMessage report = channel.CreateMessage();
+            //report.Headers.SetString("CONTROL_TYPE", "REPORT");
+            report.Headers.SetInt("MESSAGE_COUNT", messageCount);
+    
+            return report;
+        }
+    
+        /// <summary>
+        /// Counts incoming test messages.
+        /// </summary>
+        ///
+        /// <param name="message"> The incoming test message. </param>
+        public void OnMessage(IMessage message)
+        {
+            log.Debug("public void onMessage(IMessage message = " + message + "): called");
+    
+            // Increment the message count.
+            messageCount++;
+        }
+    }
+}

Propchange: qpid/trunk/qpid/dotnet/Qpid.Integration.Tests/interop/TestCases/TestCase3BasicPubSub.cs
------------------------------------------------------------------------------
    svn:eol-style = native



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


Mime
View raw message