public void RAOShouldActuallyRunOnTheTaskpool() { var deferred = RxApp.DeferredScheduler; var taskpool = RxApp.TaskpoolScheduler; try { var testDeferred = new CountingTestScheduler(Scheduler.Immediate); var testTaskpool = new CountingTestScheduler(Scheduler.NewThread); RxApp.DeferredScheduler = testDeferred; RxApp.TaskpoolScheduler = testTaskpool; var fixture = new ReactiveAsyncCommand(); var result = fixture.RegisterAsyncObservable(x => Observable.Return((int)x * 5).Delay(TimeSpan.FromSeconds(1), RxApp.TaskpoolScheduler)); fixture.Execute(1); Assert.Equal(5, result.First()); Assert.True(testDeferred.ScheduledItems.Count >= 1); Assert.True(testTaskpool.ScheduledItems.Count >= 1); } finally { RxApp.DeferredScheduler = deferred; RxApp.TaskpoolScheduler = taskpool; } }
public void RAFShouldActuallyRunOnTheTaskpool() { var deferred = RxApp.DeferredScheduler; var taskpool = RxApp.TaskpoolScheduler; try { var testDeferred = new CountingTestScheduler(Scheduler.Immediate); var testTaskpool = new CountingTestScheduler(Scheduler.NewThread); RxApp.DeferredScheduler = testDeferred; RxApp.TaskpoolScheduler = testTaskpool; var fixture = new ReactiveAsyncCommand(); var result = fixture.RegisterAsyncFunction(x => { Thread.Sleep(1000); return((int)x * 5); }); fixture.Execute(1); Assert.Equal(5, result.First()); Assert.True(testDeferred.ScheduledItems.Count >= 1); Assert.True(testTaskpool.ScheduledItems.Count >= 1); } finally { RxApp.DeferredScheduler = deferred; RxApp.TaskpoolScheduler = taskpool; } }