public void ShouldRetryWhenIOException()
        {
            // Given
            var target = new RabbitMqRetryDecisionProvider();

            // When
            var result = target.GetRetryDecision(new IOException());

            // Then
            Assert.AreEqual(RetryDecision.Retry, result);
        }
        public void ShouldRethrowWhenBusinessError()
        {
            // Given
            var target = new RabbitMqRetryDecisionProvider();

            // When
            var result = target.GetRetryDecision(new ArgumentException());

            // Then
            Assert.AreEqual(RetryDecision.Rethrow, result);
        }
        public void ShouldIgnoreWhenNoError()
        {
            // Given
            var target = new RabbitMqRetryDecisionProvider();

            // When
            var result = target.GetRetryDecision(null);

            // Then
            Assert.AreEqual(RetryDecision.Ignore, result);
        }