public async Task Never1() { var xs = AsyncEnumerableEx.Never <int>(); var e = xs.GetAsyncEnumerator(); Assert.False(e.MoveNextAsync().IsCompleted); // Very rudimentary check await e.DisposeAsync(); }
public async Task CancelToken_UnblocksAsync() { using var cts = new CancellationTokenSource(); var en = AsyncEnumerableEx.Never <int>().GetAsyncEnumerator(cts.Token); try { cts.CancelAfter(100); await Assert.ThrowsAsync <TaskCanceledException>(() => en.MoveNextAsync().AsTask()); } finally { await en.DisposeAsync(); } }
public async Task Timeout_Never() { var source = AsyncEnumerableEx.Never <int>().Timeout(TimeSpan.FromMilliseconds(100)); var en = source.GetAsyncEnumerator(); try { await en.MoveNextAsync(); Assert.False(true, "MoveNextAsync should have thrown"); } catch (TimeoutException) { // expected } finally { await en.DisposeAsync(); } }