public void Should_incur_a_cooldown_after_recreating_current_value_provider() { SetupProvidersFactory(); retryingCurrentValueProvider = new RetryingCurrentValueProvider <object>(currentValueProviderFactory, 250.Milliseconds()); var result = new object(); providers[0].Get().ThrowsForAnyArgs <Exception>(); providers[1].Get().ThrowsForAnyArgs <Exception>(); providers[2].Get().Returns(result); var getAction = new Action(() => retryingCurrentValueProvider.Get()); getAction.Should().Throw <Exception>(); new Action(() => getAction.Should().NotThrow()).ShouldPassIn(10.Seconds()); retryingCurrentValueProvider.Get().Should().BeSameAs(result); providers[0].Received(1).Dispose(); providers[1].Received(1).Dispose(); providers[2].DidNotReceive().Dispose(); }
public void SetUp() { SetupProvidersFactory(); retryingCurrentValueProvider = new RetryingCurrentValueProvider <object>(currentValueProviderFactory, TimeSpan.Zero); }