public void IAsyncOperation_AsTask_Error() { var error = new Exception("error"); var operation = new MockAsyncOperation<bool>(); Task<bool> t = operation.AsTask(); operation.ErrorCode = error; operation.Status = AsyncStatus.Error; operation.Completed (operation, operation.Status); Assert.IsTrue (t.IsFaulted); Assert.AreSame (error, t.Exception.InnerExceptions.First()); Assert.Throws<AggregateException>(t.Wait); }
public void IAsyncOperation_AsTask_Completed() { var operation = new MockAsyncOperation<bool>(); Task<bool> t = operation.AsTask(); operation.Result = true; operation.Status = AsyncStatus.Completed; operation.Completed (operation, operation.Status); Assert.AreEqual (TaskStatus.RanToCompletion, t.Status); Assert.AreEqual (true, t.Result); }