public void FuncTask_ActionContinuation_Fact() { FuncTask task = null; ActionTask continuation = null; task = Task.Run(() => { task.HasStarted.ShouldBeTrue(); continuation.HasStarted.ShouldBeFalse(); return("task"); }); continuation = task.ContinueWith(previous => { previous.Id.ShouldEqual(task.Id); previous.IsComplete.ShouldBeTrue(); previous.Result.ShouldEqual("task"); previous.Exception.ShouldBeNull(); continuation.HasStarted.ShouldBeTrue(); }); task.ShouldNotBeNull(); continuation.ShouldNotBeNull(); task.HasStarted.ShouldBeTrue(); continuation.HasStarted.ShouldBeFalse(); //NB waiting on first task should not be required! //task1.Wait(); //task1.IsComplete.ShouldBeTrue(); continuation.Wait(); task.Status.ShouldEqual(TaskStatus.RanToCompletion); continuation.Status.ShouldEqual(TaskStatus.RanToCompletion); EnsureQuietDisposal(task); EnsureQuietDisposal(continuation); }
public void RunFuncTask_Fact() { FuncTask task = Task.Run(() => 42); task.ShouldNotBeNull(); task.HasStarted.ShouldBeTrue(); }
public void NewFuncTask_Fact() { FuncTask task = Task.New(() => 42); task.ShouldNotBeNull(); task.HasStarted.ShouldBeFalse(); }
public void RunCancellableFuncTask_Fact() { FuncTask task = Task.Run(token => 42); task.ShouldNotBeNull(); task.HasStarted.ShouldBeTrue(); }
public void NewCancellableFuncTask_Fact() { FuncTask task = Task.New(token => 42); task.ShouldNotBeNull(); task.HasStarted.ShouldBeFalse(); }