public async void Unbounded_No_Consumers() { var push = new ReplayAsyncEnumerable <int>(); for (var i = 1; i <= 5; i++) { await push.Next(i); } await push.Complete(); await push.AssertResult(1, 2, 3, 4, 5); await push.AssertResult(1, 2, 3, 4, 5); }
public async void TimedSized_No_Consumers() { var push = new ReplayAsyncEnumerable <int>(10, TimeSpan.FromHours(1)); for (var i = 1; i <= 5; i++) { await push.Next(i); } await push.Complete(); await push.AssertResult(1, 2, 3, 4, 5); await push.AssertResult(1, 2, 3, 4, 5); }
public async void TimedSized_Bounded_1_Normal() { var push = new ReplayAsyncEnumerable <int>(1, TimeSpan.FromHours(1)); await push.Next(1); await push.Next(2); var t1 = push.AssertResult(2, 3, 4, 5); await push.Next(3); await push.Next(4); await push.Next(5); await push.Complete(); await t1; await push.AssertResult(5); }
public async void Sized_Bounded_2_Normal() { var push = new ReplayAsyncEnumerable <int>(2); await push.Next(1); await push.Next(2); await push.Next(3); var t1 = push.AssertResult(2, 3, 4, 5); await push.Next(4); await push.Next(5); await push.Complete(); await t1; await push.AssertResult(4, 5); }
public async void Timed_Bounded_1_Normal() { var timeNow = new [] { 0L }; var push = new ReplayAsyncEnumerable <int>(10, TimeSpan.FromMilliseconds(100), () => timeNow[0]); await push.Next(1); timeNow[0] += 100; await push.Next(2); var t1 = push.AssertResult(2, 3, 4, 5); timeNow[0] += 100; await push.Next(3); timeNow[0] += 100; await push.Next(4); timeNow[0] += 100; await push.Next(5); await push.Complete(); await t1; await push.AssertResult(5); timeNow[0] += 100; await push.AssertResult(); }