Exemplo n.º 1
0
        public void Execute_ShouldBeFailure_WhenActionReturnsFailure()
        {
            // Arrange
            var policy = new ServiceRetryPolicy(2, TimeSpan.Zero);

            // Act
            var result = policy.Value().Execute(() => Result.Fail());

            // Assert
            result.Failure.Should().BeTrue();
        }
Exemplo n.º 2
0
        public void Execute_ShouldBeSuccess_WhenActionReturnsSuccess()
        {
            // Arrange
            var policy = new ServiceRetryPolicy(2, TimeSpan.Zero);

            // Act
            var result = policy.Value().Execute(Result.Ok);

            // Assert
            result.Success.Should().BeTrue();
        }
Exemplo n.º 3
0
        public void Execute_ShouldCallAction_RetryCountPlusOneTime_WhenActionReturnsFailure()
        {
            // Arrange
            const int retryCount  = 2;
            var       timesCalled = 0;
            var       policy      = new ServiceRetryPolicy(retryCount, TimeSpan.Zero);

            // Act
            policy.Value().Execute(() =>
            {
                timesCalled++;
                return(Result.Fail());
            });

            // Assert
            timesCalled.Should().Be(1 + retryCount);
        }