public void WhenCallingRemoveAndIsNotEmptyShouldRemove()
        {
            var queue = new InMemoryQueue();
            queue.Add(new Message(null, null));

            var actual = queue.Remove();
            Assert.NotNull(actual);
            Assert.Null(actual.Url);
            Assert.Null(actual.Body);
        }
        public void WhenCallingAddShouldAddAndRaiseEvent()
        {
            var messageUri = new Uri("http://www.google.com");
            var messageBody = string.Empty;

            var queue = new InMemoryQueue();

            var enqueueCounter = 0;
            queue.MessageAdded += (sender, e) => { enqueueCounter++; };

            queue.Add(new Message(messageUri, messageBody));

            Assert.NotNull(queue.Get());
            Assert.Equal(messageUri, queue.Get().Url);
            Assert.Equal(messageBody, queue.Get().Body);
            Assert.Equal(1, enqueueCounter);
        }