public async Task PollGetThrows()
        {
            var wait = TimeSpan.FromSeconds(10);
            var msg = new BrokeredMessage("data");
            var queue = Substitute.For<IBusQueueReciever>();
            queue.Get(wait).Returns(x => { throw new ApplicationException(); });

            var poller = new ServiceBusQueuePoller<object>(queue, wait);
            await poller.Poll();
        }
        public async Task PollGetNull()
        {
            var wait = TimeSpan.FromSeconds(10);
            var queue = Substitute.For<IBusQueueReciever>();
            queue.Get(wait).Returns(Task.FromResult<BrokeredMessage>(null));

            var poller = new ServiceBusQueuePoller<object>(queue, wait);
            var returned = await poller.Poll();

            Assert.IsNull(returned);

            queue.Received().Get(wait);
        }
        public async Task PollMany()
        {
            var wait = TimeSpan.FromSeconds(10);
            var msg = new BrokeredMessage("data");
            var msgs = new List<BrokeredMessage>(3);
            msgs.Add(msg);
            msgs.Add(msg);
            msgs.Add(msg);

            var queue = Substitute.For<IBusQueueReciever>();
            queue.GetMany(wait, 3).Returns(Task.FromResult<IEnumerable<BrokeredMessage>>(msgs));

            var poller = new ServiceBusQueuePoller<object>(queue, wait);
            var returned = await poller.PollMany(3);

            Assert.IsNotNull(returned);
            Assert.AreEqual(3, returned.Count());

            queue.Received().GetMany(wait, 3);
        }