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(5).Returns(Task.FromResult<IEnumerable<IQueued<object>>>(msgs));

            var processor = Substitute.For<IProcessor<object>>();
            processor.Process(data).Returns(Task.FromResult(true));

            var d = new DequeueBatch<object>(poller, processor);

            var result = await d.Run();
            Assert.IsTrue(result);

            message.Received().Data();
            message.Received().Complete();
            poller.Received().PollMany(5);
            processor.Received().Process(data);
        }
Example #2
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(5).Returns(Task.FromResult <IEnumerable <IQueued <object> > >(msgs));

            var processor = Substitute.For <IProcessor <object> >();

            processor.Process(data).Returns(Task.FromResult(true));

            var d = new DequeueBatch <object>(poller, processor);

            var result = await d.Run();

            Assert.IsTrue(result);

            await message.Received().Data();

            await message.Received().Complete();

            await poller.Received().PollMany(5);

            await processor.Received().Process(data);
        }
 public void BatchCountMin()
 {
     var random = new Random();
     var count = byte.MinValue;
     var poller = Substitute.For<IPoller<object>>();
     var processor = Substitute.For<IProcessor<object>>();
     var d = new DequeueBatch<object>(poller, processor, count);
     Assert.AreEqual(1, d.BatchCount);
 }
 public void BatchCount()
 {
     var random = new Random();
     var count = (byte)random.Next(byte.MinValue, byte.MaxValue);
     var poller = Substitute.For<IPoller<object>>();
     var processor = Substitute.For<IProcessor<object>>();
     var d = new DequeueBatch<object>(poller, processor, count);
     Assert.AreEqual(count, d.BatchCount);
 }
Example #5
0
        public void BatchCountMin()
        {
            var random    = new Random();
            var count     = byte.MinValue;
            var poller    = Substitute.For <IPoller <object> >();
            var processor = Substitute.For <IProcessor <object> >();
            var d         = new DequeueBatch <object>(poller, processor, count);

            Assert.AreEqual(1, d.BatchCount);
        }
Example #6
0
        public void BatchCount()
        {
            var random    = new Random();
            var count     = (byte)random.Next(byte.MinValue, byte.MaxValue);
            var poller    = Substitute.For <IPoller <object> >();
            var processor = Substitute.For <IProcessor <object> >();
            var d         = new DequeueBatch <object>(poller, processor, count);

            Assert.AreEqual(count, d.BatchCount);
        }
Example #7
0
        public void RunPollThrows()
        {
            var poller = Substitute.For <IPoller <object> >();

            poller.PollMany(5).ReturnsForAnyArgs <object>(x => { throw new ApplicationException(); });

            var processor = Substitute.For <IProcessor <object> >();

            var d = new DequeueBatch <object>(poller, processor);

            Assert.That(async() => await d.Run(), Throws.TypeOf <ApplicationException>());
        }
        public async Task RunPollNull()
        {
            var poller = Substitute.For<IPoller<object>>();
            poller.PollMany(5).Returns(Task.FromResult<IEnumerable<IQueued<object>>>(null));

            var processor = Substitute.For<IProcessor<object>>();

            var d = new DequeueBatch<object>(poller, processor);

            var result = await d.Run();
            Assert.IsFalse(result);

            poller.Received().PollMany(5);
        }
Example #9
0
        public async Task RunPollNull()
        {
            var poller = Substitute.For <IPoller <object> >();

            poller.PollMany(5).Returns(Task.FromResult <IEnumerable <IQueued <object> > >(null));

            var processor = Substitute.For <IProcessor <object> >();

            var d = new DequeueBatch <object>(poller, processor);

            var result = await d.Run();

            Assert.IsFalse(result);

            await poller.Received().PollMany(5);
        }
        public async Task RunPollThrows()
        {
            var poller = Substitute.For<IPoller<object>>();
            poller.PollMany(5).Returns(x => { throw new ApplicationException(); });

            var processor = Substitute.For<IProcessor<object>>();

            var d = new DequeueBatch<object>(poller, processor);
            await d.Run();
        }