public async void SizedTimed_Long() { const long n = 1_000_000; var push = new ReplayAsyncEnumerable <long>(10, TimeSpan.FromHours(1)); var t = push .Reduce((a, b) => a + b) .AssertResult(n * (n + 1) / 2); for (var i = 1; i <= n; i++) { await push.Next(i); } await push.Complete(); await t; }
public async void TimedSized_Long_Halfway() { const long n = 1_000_000; var push = new ReplayAsyncEnumerable <long>((int)n, TimeSpan.FromHours(1)); var t = default(ValueTask); for (var i = 1; i <= n; i++) { await push.Next(i); if (i * 2 == n) { t = push .Reduce((a, b) => a + b) .AssertResult(n * (n + 1) / 2); } } await push.Complete(); await t; }