public void ShouldThrowIfItemRetryFails() { var retryer = new DeserializeFailureRetryer(); var item = new FakeItem(); var exception = new Exception(); retryer.AddItemRetry(item, exception); Action<IItemData> callback = delegate(IItemData x) { throw new Exception(); }; Assert.Throws<DeserializationAggregateException>(() => retryer.RetryAll(Substitute.For<ISourceDataStore>(), callback, callback)); }
public void ShouldRetrieveItemRetry() { var retryer = new DeserializeFailureRetryer(); var item = new FakeItem(); var exception = new Exception(); retryer.AddItemRetry(item, exception); var callback = Substitute.For<Action<IItemData>>(); retryer.RetryAll(Substitute.For<ISourceDataStore>(), callback, callback); callback.Received()(item); }