public void Test_that_WithIncreasedRetryCount_creates_new_message_instance_with_incremented_RetryCount_value()
        {
            var consumerMock = new Mock <IMessageConsumer>();

            var right = new EnvelopedMessage
                        (
                Enumerable.Empty <byte>(),
                consumerMock.Object,
                string.Empty,
                string.Empty,
                42,
                string.Empty
                        );

            for (var i = 0; i < 10; i++)
            {
                var left = right.WithIncreasedRetryCount();

                Assert.AreNotEqual(left, right);
                Assert.AreEqual(1, left.RetryCount - right.RetryCount);

                right = left;
            }
        }