public void TestDequeueNoWait() { FifoMessageDispatchChannel channel = new FifoMessageDispatchChannel(); MessageDispatch dispatch1 = new MessageDispatch(); MessageDispatch dispatch2 = new MessageDispatch(); MessageDispatch dispatch3 = new MessageDispatch(); Assert.IsTrue(channel.Running == false); Assert.IsTrue(channel.DequeueNoWait() == null); channel.Enqueue(dispatch1); channel.Enqueue(dispatch2); channel.Enqueue(dispatch3); Assert.IsTrue(channel.DequeueNoWait() == null); channel.Start(); Assert.IsTrue(channel.Running == true); Assert.IsTrue(channel.Empty == false); Assert.IsTrue(channel.Count == 3); Assert.IsTrue(channel.DequeueNoWait() == dispatch1); Assert.IsTrue(channel.DequeueNoWait() == dispatch2); Assert.IsTrue(channel.DequeueNoWait() == dispatch3); Assert.IsTrue(channel.Count == 0); Assert.IsTrue(channel.Empty == true); }
public void TestEnqueueFront() { FifoMessageDispatchChannel channel = new FifoMessageDispatchChannel(); MessageDispatch dispatch1 = new MessageDispatch(); MessageDispatch dispatch2 = new MessageDispatch(); channel.Start(); Assert.IsTrue(channel.Empty == true); Assert.IsTrue(channel.Count == 0); channel.EnqueueFirst(dispatch1); Assert.IsTrue(channel.Empty == false); Assert.IsTrue(channel.Count == 1); channel.EnqueueFirst(dispatch2); Assert.IsTrue(channel.Empty == false); Assert.IsTrue(channel.Count == 2); Assert.IsTrue(channel.DequeueNoWait() == dispatch2); Assert.IsTrue(channel.DequeueNoWait() == dispatch1); }