public void IAsyncAction_StartAsTask_CreatedOnly() { var action = new MockAsyncAction(); action.Status = AsyncStatus.Error; Assert.Throws<InvalidOperationException>(() => action.StartAsTask()); action.Status = AsyncStatus.Started; Assert.Throws<InvalidOperationException>(() => action.StartAsTask()); action.Status = AsyncStatus.Completed; Assert.Throws<InvalidOperationException>(() => action.StartAsTask()); action.Status = AsyncStatus.Canceled; Assert.Throws<InvalidOperationException>(() => action.StartAsTask()); }
public void IAsyncAction_StartAsTask_StartStatus() { var action = new MockAsyncAction(); Task t = action.StartAsTask(); Assert.AreEqual (TaskStatus.WaitingForActivation, t.Status); Assert.AreEqual (AsyncStatus.Started, action.Status); }
public void IAsyncAction_StartAsTask_Canceled() { var action = new MockAsyncAction(); Task t = action.StartAsTask(); action.Cancel(); Assert.Throws<AggregateException> (() => t.Wait()); Assert.AreEqual (TaskStatus.Canceled, t.Status); }
public void IAsyncAction_StartAsTask_Error() { var error = new Exception ("error"); var action = new MockAsyncAction(); Task t = action.StartAsTask(); action.ErrorCode = error; action.Status = AsyncStatus.Error; action.Completed (action); Assert.IsTrue (t.IsFaulted); Assert.AreSame (error, t.Exception.InnerExceptions.First()); Assert.Throws<AggregateException> (() => t.Wait()); }
public void IAsyncAction_StartAsTask_Completed() { var action = new MockAsyncAction(); Task t = action.StartAsTask(); action.Status = AsyncStatus.Completed; action.Completed (action); Assert.AreEqual (TaskStatus.RanToCompletion, t.Status); }