private static OperationPoller InjectZeroPoller() { OperationPoller poller = new OperationPoller(); poller.GetType().GetField("_delayStrategy", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(poller, new ZeroPollingStrategy()); return(poller); }
public void ShouldDefaultToConstantFallback() { OperationPoller poller = new OperationPoller(); var delayStrategy = poller.GetType().GetField("_delayStrategy", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(poller); Assert.IsNotNull(delayStrategy); Assert.AreEqual(typeof(RetryAfterDelayStrategy), delayStrategy.GetType()); var fallbackStrategy = delayStrategy.GetType().GetField("_fallbackStrategy", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(delayStrategy); Assert.IsNotNull(delayStrategy); Assert.AreEqual(typeof(ConstantDelayStrategy), fallbackStrategy.GetType()); }
public void CanOverrideFallbackStrategy() { ExponentialDelayStrategy exponentialDelayStrategy = new ExponentialDelayStrategy(); OperationPoller poller = new OperationPoller(exponentialDelayStrategy); var delayStrategy = poller.GetType().GetField("_delayStrategy", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(poller); Assert.IsNotNull(delayStrategy); Assert.AreEqual(typeof(RetryAfterDelayStrategy), delayStrategy.GetType()); var fallbackStrategy = delayStrategy.GetType().GetField("_fallbackStrategy", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(delayStrategy); Assert.IsNotNull(delayStrategy); Assert.AreEqual(exponentialDelayStrategy, fallbackStrategy); }