Search in sources :

Example 1 with ScheduledWorker

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

the class SingleSchedulerTest method shutdownRejects.

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

        @Override
        public void run() {
            calls[0]++;
        }
    };
    Scheduler s = new SingleScheduler();
    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();
    ((ScheduledWorker) w).executor.shutdownNow();
    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]);
    w.dispose();
    assertTrue(w.isDisposed());
}
Also used : Worker(io.reactivex.Scheduler.Worker) ScheduledWorker(io.reactivex.internal.schedulers.SingleScheduler.ScheduledWorker) Test(org.junit.Test)

Aggregations

Worker (io.reactivex.Scheduler.Worker)1 ScheduledWorker (io.reactivex.internal.schedulers.SingleScheduler.ScheduledWorker)1 Test (org.junit.Test)1