public void SuccessAfterRetryTest() { #pragma warning disable 219 this.iteration = 0; Aspect retryAspect = new RetryCountAspect(3); DateTime dt = (DateTime)this.GetProxy(AspectacularTest.MoreTestAspects(retryAspect)).Invoke(test => test.SimulateFailureNTimes(2, true)); this.testStart = DateTime.UtcNow; retryAspect = new RetryTimeAspect(300, 100); // ReSharper disable once RedundantAssignment dt = (DateTime)this.GetProxy(AspectacularTest.MoreTestAspects(retryAspect)).Invoke(test => test.SimulateFailureFor(200, true)); this.iteration = 0; retryAspect = new RetryCountAspect(3, 50, proxy => proxy.ReturnedValue == null); // ReSharper disable once RedundantAssignment dt = (DateTime)this.GetProxy(AspectacularTest.MoreTestAspects(retryAspect)).Invoke(test => test.SimulateFailureNTimes(2, false)); this.testStart = DateTime.UtcNow; retryAspect = new RetryTimeAspect(300, 100, proxy => proxy.ReturnedValue == null); // ReSharper disable once RedundantAssignment dt = (DateTime)this.GetProxy(AspectacularTest.MoreTestAspects(retryAspect)).Invoke(test => test.SimulateFailureFor(200, false)); this.testStart = DateTime.UtcNow; retryAspect = new RetryExponentialDelayAspect(300, 10, 2.5, proxy => proxy.ReturnedValue == null); // ReSharper disable once RedundantAssignment dt = (DateTime)this.GetProxy(AspectacularTest.MoreTestAspects(retryAspect)).Invoke(test => test.SimulateFailureFor(200, false)); #pragma warning restore 219 }