public async Task WrapDelegateCancellationToken_WhenCommandIsUncanceled_IsNotCanceled() { var command = new CancelCommand(); var ctTcs = new TaskCompletionSource <CancellationToken>(); var continueDelegate = new TaskCompletionSource <object>(); var __ = command.WrapDelegate(async(_, token) => { ctTcs.SetResult(token); await continueDelegate.Task; })(null); Assert.Equal(command.CancellationToken, await ctTcs.Task); Assert.False(command.CancellationToken.IsCancellationRequested); Assert.False(command.IsCancellationRequested); continueDelegate.SetResult(null); Assert.True(command.CancellationToken.IsCancellationRequested); Assert.True(command.IsCancellationRequested); }