public void TryCompleteFromEventArgs_PropagatesException() { AsyncContext.Run(async () => { var tcs = new TaskCompletionSource(); tcs.TryCompleteFromEventArgs(new AsyncCompletedEventArgs(new NotImplementedException(), false, null)); await AssertEx.ThrowsExceptionAsync<NotImplementedException>(() => tcs.Task); }); }
public void TryCompleteFromEventArgs_PropagatesCancellation() { AsyncContext.Run(async () => { var tcs = new TaskCompletionSource(); tcs.TryCompleteFromEventArgs(new AsyncCompletedEventArgs(null, true, null)); await AssertEx.ThrowsExceptionAsync<OperationCanceledException>(() => tcs.Task); }); }
public void TryCompleteFromEventArgs_PropagatesResult() { AsyncContext.Run(async () => { var tcs = new TaskCompletionSource(); tcs.TryCompleteFromEventArgs(new AsyncCompletedEventArgs(null, false, null)); await tcs.Task; }); }
public void TryCompleteFromEventArgsTResult_PropagatesResult() { AsyncContext.Run(async () => { var tcs = new TaskCompletionSource<int>(); tcs.TryCompleteFromEventArgs(new AsyncCompletedEventArgs(null, false, null), () => 13); var result = await tcs.Task; Assert.AreEqual(13, result); }); }
public void TryCompleteFromEventArgsTResult_PropagatesException() { Test.Async(async () => { var tcs = new TaskCompletionSource<int>(); tcs.TryCompleteFromEventArgs(new AsyncCompletedEventArgs(new NotImplementedException(), false, null), null); await AssertEx.ThrowsExceptionAsync<NotImplementedException>(() => tcs.Task); }); }
public void TryCompleteFromEventArgsTResult_PropagatesCancellation() { Test.Async(async () => { var tcs = new TaskCompletionSource<int>(); tcs.TryCompleteFromEventArgs(new AsyncCompletedEventArgs(null, true, null), null); await AssertEx.ThrowsExceptionAsync<OperationCanceledException>(() => tcs.Task); }); }