public async Task TaskSchedulerRespected_Task() { using (var ctx = MyTaskScheduler.Create(Log)) { Assert.Equal(0, ctx.Enqueued); Assert.Equal(0, ctx.Dequeued); Assert.NotSame(TaskScheduler.Default, ctx); Assert.Same(TaskScheduler.Default, TaskScheduler.Current); await Task.Factory.StartNew(SyncOverAsync, default, default, ctx);
public async Task TaskScheduler_Tests() { TaskScheduler currentTaskScheduler = null; TaskScheduler defaultTaskScheduler = null; var ts = new MyTaskScheduler(); var noSchedulerFunc = Create.SimpleFunc <int>(s => s.Handler(m => defaultTaskScheduler = TaskScheduler.Current)); var ourSchedulerFunc = Create.SimpleFunc <int>(s => s.DispatchOnTaskScheduler(ts).Handler(m => currentTaskScheduler = TaskScheduler.Current)); await noSchedulerFunc(0); await ourSchedulerFunc(0); Assert.NotEqual(ts, defaultTaskScheduler); Assert.Equal(ts, currentTaskScheduler); }