public void TestRemoveAll() { SimplePriorityMessageDispatchChannel channel = new SimplePriorityMessageDispatchChannel(); MessageDispatch dispatch1 = new MessageDispatch(); MessageDispatch dispatch2 = new MessageDispatch(); MessageDispatch dispatch3 = new MessageDispatch(); Message message1 = new Message(); Message message2 = new Message(); Message message3 = new Message(); message1.Priority = 1; message2.Priority = 2; message3.Priority = 3; dispatch1.Message = message1; dispatch2.Message = message2; dispatch3.Message = message3; channel.Enqueue(dispatch1); channel.Enqueue(dispatch2); channel.Enqueue(dispatch3); channel.Start(); Assert.IsTrue(channel.Running == true); Assert.IsTrue(channel.Empty == false); Assert.IsTrue(channel.Count == 3); Assert.IsTrue(channel.RemoveAll().Length == 3); Assert.IsTrue(channel.Count == 0); Assert.IsTrue(channel.Empty == true); }
public void TestDequeue() { SimplePriorityMessageDispatchChannel channel = new SimplePriorityMessageDispatchChannel(); MessageDispatch dispatch1 = new MessageDispatch(); MessageDispatch dispatch2 = new MessageDispatch(); MessageDispatch dispatch3 = new MessageDispatch(); Message message1 = new Message(); Message message2 = new Message(); Message message3 = new Message(); message1.Priority = 1; message2.Priority = 2; message3.Priority = 3; dispatch1.Message = message1; dispatch2.Message = message2; dispatch3.Message = message3; channel.Start(); Assert.IsTrue(channel.Running == true); DateTime timeStarted = DateTime.Now; Assert.IsTrue(channel.Dequeue(TimeSpan.FromMilliseconds(1000)) == null); DateTime timeFinished = DateTime.Now; TimeSpan elapsed = timeFinished - timeStarted; Assert.IsTrue(elapsed.TotalMilliseconds >= 999); channel.Enqueue(dispatch1); channel.Enqueue(dispatch2); channel.Enqueue(dispatch3); Assert.IsTrue(channel.Empty == false); Assert.IsTrue(channel.Count == 3); Assert.IsTrue(channel.Dequeue(TimeSpan.FromMilliseconds(Timeout.Infinite)) == dispatch3); Assert.IsTrue(channel.Dequeue(TimeSpan.Zero) == dispatch2); Assert.IsTrue(channel.Dequeue(TimeSpan.FromMilliseconds(1000)) == dispatch1); Assert.IsTrue(channel.Count == 0); Assert.IsTrue(channel.Empty == true); }
public void TestEnqueue() { SimplePriorityMessageDispatchChannel channel = new SimplePriorityMessageDispatchChannel(); MessageDispatch dispatch1 = new MessageDispatch(); MessageDispatch dispatch2 = new MessageDispatch(); Assert.IsTrue(channel.Empty == true); Assert.IsTrue(channel.Count == 0); channel.Enqueue(dispatch1); Assert.IsTrue(channel.Empty == false); Assert.IsTrue(channel.Count == 1); channel.Enqueue(dispatch2); Assert.IsTrue(channel.Empty == false); Assert.IsTrue(channel.Count == 2); }