internal static async Task CopyAsync_Interrupt([Size(5)] IAsyncEnumerable <int> original) { IAsyncEnumerable <int> items = Tools.Duplicator.Copy(original); await items.GetAsyncEnumerator().DisposeAsync().ConfigureAwait(false); int count = 0; await foreach (int item in items) { count++; if (count == 3) { break; } } count = 0; await foreach (int item in items) { count++; } count.Assert().Is(5); items.Assert().Is(original); }