Пример #1
0
        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);
        }
Пример #2
0
        public void RunFuncTask_Fact()
        {
            FuncTask task = Task.Run(() => 42);

            task.ShouldNotBeNull();
            task.HasStarted.ShouldBeTrue();
        }
Пример #3
0
        public void NewFuncTask_Fact()
        {
            FuncTask task = Task.New(() => 42);

            task.ShouldNotBeNull();
            task.HasStarted.ShouldBeFalse();
        }
Пример #4
0
        public void RunCancellableFuncTask_Fact()
        {
            FuncTask task = Task.Run(token => 42);

            task.ShouldNotBeNull();
            task.HasStarted.ShouldBeTrue();
        }
Пример #5
0
        public void NewCancellableFuncTask_Fact()
        {
            FuncTask task = Task.New(token => 42);

            task.ShouldNotBeNull();
            task.HasStarted.ShouldBeFalse();
        }