public void ReturnTrueAndProvideMessage_GivenSingleQueuedMessage() { var automatedMessagingSystem = new AutomatedMessagingSystem(); var message = new AlwaysReadyMessage(); automatedMessagingSystem.Publish(message); automatedMessagingSystem.CheckMessages(); bool result = automatedMessagingSystem.DequeueMessage(out string myMessage); Assert.True(result); Assert.Equal(message.GetMessageInstance(), myMessage); }
public void ReturnQueuedMessage() { var sut = new MessageDispatcher(); var alwaysReadyMessage = new AlwaysReadyMessage(); sut.Publish(alwaysReadyMessage); sut.CheckMessages(10); sut.TryDequeueMessage(out var actual); Assert.AreEqual(alwaysReadyMessage.Message, actual); }
public void ReturnOnlyOneMessage_GivenSingleQueuedMessage() { var automatedMessagingSystem = new AutomatedMessagingSystem(); var message = new AlwaysReadyMessage(); automatedMessagingSystem.Publish(message); automatedMessagingSystem.CheckMessages(); automatedMessagingSystem.DequeueMessage(out string myMessage); bool result = automatedMessagingSystem.DequeueMessage(out string throwawayMessage); Assert.False(result); Assert.Equal(message.GetMessageInstance(), myMessage); Assert.Null(throwawayMessage); }