public async Task TestClose() { var underlying = new Mock <ISink <int> >(); var sink = new RetryingSink <int>(underlying.Object, RetryPolicy.NoRetry); await sink.CloseAsync(CancellationToken.None); underlying.Verify(s => s.CloseAsync(It.IsAny <CancellationToken>()), Times.Once); }
public async Task TestSendCompletes() { var retryPolicy = new RetryPolicy(new ErrorDetectionStrategy(_ => true), new FixedInterval(3, TimeSpan.FromMilliseconds(10))); var items = new[] { 1, 2, 3, 4, 5, 6 }; var testSink = new PartialFailureSink <int>(new Exception()); var sink = new RetryingSink <int>(testSink, retryPolicy); ISinkResult <int> result = await sink.ProcessAsync(items, CancellationToken.None); await sink.CloseAsync(CancellationToken.None); Assert.True(result.IsSuccessful); Assert.Equal(new List <int>(items), result.Succeeded); }