コード例 #1
0
        public async Task SendAsync()
        {
            var tcs = new TaskCompletionSource <bool>();
            await _mt.SendAsync(() => tcs.TrySetResult(true), CancellationToken.None);

            tcs.Task.IsCompleted.Should().BeTrue();

            var cts = new CancellationTokenSource();

            cts.Cancel();
            var t = _mt.SendAsync(() => { }, cts.Token);

            bool thrown = false;

            try {
                await t;
            } catch (TaskCanceledException) {
                thrown = true;
            }

            t.IsCanceled.Should().BeTrue();
            thrown.Should().BeTrue();
        }