public async Task Run() { var data = new object(); var message = Substitute.For<IQueued<object>>(); message.Data().Returns(Task.FromResult(data)); message.Complete(); var msgs = new List<IQueued<object>>(); msgs.Add(message); var poller = Substitute.For<IPoller<object>>(); poller.PollMany(1).Returns(Task.FromResult<IEnumerable<IQueued<object>>>(msgs)); var processor = Substitute.For<IProcessor<object>>(); processor.Process(data).Returns(Task.FromResult(true)); var tracker = Substitute.For<ITimingTracker>(); tracker.Calculate(Arg.Any<TimeSpan>(), 1).Returns<byte>(6); var d = new DequeueBatchDynamic<object>(poller, processor, tracker); var result = await d.Run(); Assert.IsTrue(result); tracker.Received().Calculate(Arg.Any<TimeSpan>(), 1); message.Received().Data(); message.Received().Complete(); poller.Received().PollMany(1); processor.Received().Process(data); }
public async Task RunPollNull() { var poller = Substitute.For <IPoller <object> >(); poller.PollMany(1).Returns(Task.FromResult <IEnumerable <IQueued <object> > >(null)); var processor = Substitute.For <IProcessor <object> >(); var tracker = Substitute.For <ITimingTracker>(); var d = new DequeueBatchDynamic <object>(poller, processor, tracker); var result = await d.Run(); Assert.IsFalse(result); await poller.Received().PollMany(1); }
public async Task Run() { var data = new object(); var message = Substitute.For <IQueued <object> >(); message.Data().Returns(Task.FromResult(data)); await message.Complete(); var msgs = new List <IQueued <object> >(); msgs.Add(message); var poller = Substitute.For <IPoller <object> >(); poller.PollMany(1).Returns(Task.FromResult <IEnumerable <IQueued <object> > >(msgs)); var processor = Substitute.For <IProcessor <object> >(); processor.Process(data).Returns(Task.FromResult(true)); var tracker = Substitute.For <ITimingTracker>(); tracker.Calculate(Arg.Any <TimeSpan>(), 1).Returns <byte>(6); var d = new DequeueBatchDynamic <object>(poller, processor, tracker); var result = await d.Run(); Assert.IsTrue(result); tracker.Received().Calculate(Arg.Any <TimeSpan>(), 1); await message.Received().Data(); await message.Received().Complete(); await poller.Received().PollMany(1); await processor.Received().Process(data); }
public async Task RunPollNull() { var poller = Substitute.For<IPoller<object>>(); poller.PollMany(1).Returns(Task.FromResult<IEnumerable<IQueued<object>>>(null)); var processor = Substitute.For<IProcessor<object>>(); var tracker = Substitute.For<ITimingTracker>(); var d = new DequeueBatchDynamic<object>(poller, processor, tracker); var result = await d.Run(); Assert.IsFalse(result); poller.Received().PollMany(1); }