public void ShouldProcessUiMessageWhenItArrives()
{
var pluginQueueFactory = new PluginQueueFactoryMock();
var transport = CreateTransport(pluginQueueFactory);
var messages = new List <Message> {
new Message {
Body = "Message1"
}, new Message("Message2")
};
var uiMessages = new List <Message>();
pluginQueueFactory.SetMessagesForQueue(transport.InputQueue, messages);
pluginQueueFactory.SetMessagesForQueue(transport.UICommandInputQueue, uiMessages);
transport.Start();
transport.Process();
uiMessages.Add(new Message {
Body = "UiMessage1"
});
transport.Process();
transport.Process();
pluginQueueFactory.ProcessedMessages.Select(x => x.Body as string).ToArray().Should(
Be.EquivalentTo(new[] { "Message1", "UiMessage1", "Message2" }));
}