コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }