示例#1
0
        public void TaskHelper_Continue_Does_Not_Call_Synchonization_Post()
        {
            var ctxt = new LockSynchronisationContext();
            SynchronizationContext.SetSynchronizationContext(ctxt);
            var task = TestHelper.DelayedTask(new RowSet(), 1000);
            var cTask = task
                .Continue((rs) => TestHelper.DelayedTask(2, 500).Result)
                .Continue(s => "last one");

            ctxt.Post(state =>
            {
                cTask.Wait(3000);
                Assert.AreEqual(cTask.Status, TaskStatus.RanToCompletion);
            }, null);
        }
示例#2
0
        public void TaskHelper_Continue_Does_Not_Call_Synchonization_Post()
        {
            var ctxt = new LockSynchronisationContext();

            SynchronizationContext.SetSynchronizationContext(ctxt);
            var task  = TestHelper.DelayedTask(new RowSet(), 1000);
            var cTask = task
                        .Continue((rs) => TestHelper.DelayedTask(2, 500).Result)
                        .Continue(s => "last one");

            ctxt.Post(state =>
            {
                cTask.Wait(3000);
                Assert.AreEqual(cTask.Status, TaskStatus.RanToCompletion);
            }, null);
        }