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(); }
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(); }
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); }