public void ShouldThrowOnCurrentIfNoPendingMessages() { var pipeline = new ResponsePipeline(null); var exc = Record.Exception(() => pipeline.Peek()); exc.Should().BeOfType <InvalidOperationException>(); }
public void ShouldDequeueResponseHandlersInOrder() { var(msg1, handler1) = (new Mock <IRequestMessage>(), new Mock <IResponseHandler>()); var(msg2, handler2) = (new Mock <IRequestMessage>(), new Mock <IResponseHandler>()); var pipeline = new ResponsePipeline(null); pipeline.Enqueue(msg1.Object, handler1.Object); pipeline.Enqueue(msg2.Object, handler2.Object); pipeline.HasNoPendingMessages.Should().BeFalse(); pipeline.Peek().Should().Be(handler1.Object); pipeline.Dequeue(); pipeline.HasNoPendingMessages.Should().BeFalse(); pipeline.Peek().Should().Be(handler2.Object); pipeline.Dequeue(); pipeline.HasNoPendingMessages.Should().BeTrue(); }
public void ShouldEnqueueResponseHandlers() { var(msg, handler) = (new Mock <IRequestMessage>(), new Mock <IResponseHandler>()); var pipeline = new ResponsePipeline(null); pipeline.Enqueue(msg.Object, handler.Object); pipeline.HasNoPendingMessages.Should().BeFalse(); pipeline.Peek().Should().Be(handler.Object); }