public MainThreadAwaiter GetAwaiter() {
return new MainThreadAwaiter(_mainThread, _cancellationToken);
}
}
public void GetResult_ThrowOnBackgroundThread() { var cts = new CancellationTokenSource(); var awaitable = new MainThreadAwaitable(_mainThread, cts.Token); cts.Cancel(); Action a = () => awaitable.GetAwaiter().GetResult(); a.ShouldThrow<OperationCanceledException>(); }