示例#1
0
        public void DisposeQueueFirst()
        {
            ManualDispatcher dispatcher = new ManualDispatcher();
            IActionQueue     queue      = dispatcher.CreateQueue();
            string           name       = queue.Name;

            ((IDisposable)queue).Dispose();
            Assert.IsNull(queue.Dispatcher);
            Assert.IsNull(dispatcher.GetQueueByName(name));

            dispatcher.Dispose();
        }
示例#2
0
        public void CreateMultipleQueues()
        {
            // test CreateQueue - succeeds
            ManualDispatcher dispatcher = new ManualDispatcher();
            IActionQueue     queue1     = dispatcher.CreateQueue();

            Assert.IsNotNull(queue1);
            Assert.IsNotNull(queue1.Name);
            Assert.IsTrue(queue1.Dispatcher == dispatcher);

            // test CreateQueue - succeeds again
            IActionQueue queue2 = dispatcher.CreateQueue();

            Assert.IsNotNull(queue2);
            Assert.IsNotNull(queue2.Name);
            Assert.IsTrue(queue2.Dispatcher == dispatcher);

            // verify the two queues are different
            Assert.AreNotSame(queue1, queue2);
            Assert.IsTrue(queue1.Name != queue2.Name);

            // test GetQueueByName - succeeds
            IActionQueue a = dispatcher.GetQueueByName(queue1.Name);

            Assert.AreSame(queue1, a);

            // test GetQueueByName - succeeds
            IActionQueue b = dispatcher.GetQueueByName(queue2.Name);

            Assert.AreSame(queue2, b);

            // test GetQueueByName - fails
            IActionQueue c = dispatcher.GetQueueByName("not_found");

            Assert.IsNull(c);
        }