private IInboundTransport SetupReceiver(int nMessages) { var transport = new Mock <IInboundTransport>(); int dequeueCount = 0; transport.Setup(m => m.Receive(It.IsAny <TimeSpan?>())) .Returns(() => { IMessageTransaction tr; if (Interlocked.Increment(ref dequeueCount) <= nMessages) { tr = new MockTransaction(); } else { tr = null; } return(Task.FromResult(tr)); }); return(transport.Object); }
private IInboundTransport SetupReceiver(int nMessages) { var transport = new Mock<IInboundTransport>(); int dequeueCount = 0; transport.Setup(m => m.Receive(It.IsAny<TimeSpan?>())) .Returns(() => { IMessageTransaction tr; if (Interlocked.Increment(ref dequeueCount) <= nMessages) { tr = new MockTransaction(); } else { tr = null; } return Task.FromResult(tr); }); return transport.Object; }