Search in sources :

Example 1 with ComputationScheduler

use of io.reactivex.internal.schedulers.ComputationScheduler in project RxJava by ReactiveX.

the class ComputationSchedulerTests method shutdownRejects.

@Test
public void shutdownRejects() {
    final int[] calls = { 0 };
    Runnable r = new Runnable() {

        @Override
        public void run() {
            calls[0]++;
        }
    };
    Scheduler s = new ComputationScheduler();
    s.shutdown();
    s.shutdown();
    assertEquals(Disposables.disposed(), s.scheduleDirect(r));
    assertEquals(Disposables.disposed(), s.scheduleDirect(r, 1, TimeUnit.SECONDS));
    assertEquals(Disposables.disposed(), s.schedulePeriodicallyDirect(r, 1, 1, TimeUnit.SECONDS));
    Worker w = s.createWorker();
    w.dispose();
    assertTrue(w.isDisposed());
    assertEquals(Disposables.disposed(), w.schedule(r));
    assertEquals(Disposables.disposed(), w.schedule(r, 1, TimeUnit.SECONDS));
    assertEquals(Disposables.disposed(), w.schedulePeriodically(r, 1, 1, TimeUnit.SECONDS));
    assertEquals(0, calls[0]);
}
Also used : ComputationScheduler(io.reactivex.internal.schedulers.ComputationScheduler) Worker(io.reactivex.Scheduler.Worker) ComputationScheduler(io.reactivex.internal.schedulers.ComputationScheduler)

Aggregations

Worker (io.reactivex.Scheduler.Worker)1 ComputationScheduler (io.reactivex.internal.schedulers.ComputationScheduler)1