public async Task Precancelled() { var e = new AutoResetEventAsync(false); var src = new CancellationTokenSource(); src.Cancel(); await TaskHelpers.AssertCancelled(e.WaitAsync(src.Token)); }
public async Task DelayCancelled() { var e = new AutoResetEventAsync(false); var src = new CancellationTokenSource(); Task waitAsync = e.WaitAsync(src.Token); src.CancelAfter(TimeSpan.FromSeconds(TaskHelpers.WaitTime.TotalSeconds / 2)); await TaskHelpers.AssertCancelled(waitAsync); }
public async Task DoubleCanncelled() { var e = new AutoResetEventAsync(false); var src = new CancellationTokenSource(); Task waitAsync = e.WaitAsync(src.Token); Task wait2Async = e.WaitAsync(src.Token); src.Cancel(); await TaskHelpers.AssertCancelled(waitAsync); await TaskHelpers.AssertCancelled(wait2Async); }
public async Task ReceiveNoData_Cancelled() { (Stream a, Stream b) = PairedStream.Create(); var buffer = new byte[s_bytes.Length * 2]; var cts = new CancellationTokenSource(); Task[] tasks = { a.ReadAsync(buffer, 0, buffer.Length, cts.Token), b.ReadAsync(buffer, 0, buffer.Length, cts.Token) }; await TaskHelpers.AssertNotTriggered(tasks[0]); await TaskHelpers.AssertNotTriggered(tasks[1]); cts.Cancel(); await TaskHelpers.AssertCancelled(tasks[0]); await TaskHelpers.AssertCancelled(tasks[1]); }