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(); }
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); }