public async Task DelayTimespan() { var begin = DateTime.Now; await ValueTaskEx.Delay(TimeSpan.FromMilliseconds(1000)); var end = DateTime.Now; Assert.IsTrue(200 > Math.Abs((end - begin).TotalMilliseconds - 1000)); }
public async Task DelayMillisecondWithCT() { var cts = new CancellationTokenSource(); var task = ValueTaskEx.Delay(1000, cts.Token); Assert.IsFalse(task.IsCompleted); cts.Cancel(); Assert.IsTrue(task.IsCompleted); Assert.IsTrue(task.IsCanceled); await AssertCaughtAsync <TaskCanceledException, Unit>(task); }