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>();
}