use of io.reactivex.android.testutil.CountingRunnable in project RxAndroid by ReactiveX.
the class HandlerSchedulerTest method directScheduleOnceWithDelayUsesHook.
@Test
public void directScheduleOnceWithDelayUsesHook() {
final CountingRunnable newCounter = new CountingRunnable();
final AtomicReference<Runnable> runnableRef = new AtomicReference<>();
RxJavaPlugins.setScheduleHandler(new Function<Runnable, Runnable>() {
@Override
public Runnable apply(Runnable runnable) {
runnableRef.set(runnable);
return newCounter;
}
});
CountingRunnable counter = new CountingRunnable();
scheduler.scheduleDirect(counter, 1, MINUTES);
// Verify our runnable was passed to the schedulers hook.
assertSame(counter, runnableRef.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
// Verify the scheduled runnable was the one returned from the hook.
assertEquals(1, newCounter.get());
assertEquals(0, counter.get());
}
use of io.reactivex.android.testutil.CountingRunnable in project RxAndroid by ReactiveX.
the class HandlerSchedulerTest method workerScheduleOnceWithNegativeDelayPostsImmediately.
@Test
public void workerScheduleOnceWithNegativeDelayPostsImmediately() {
Worker worker = scheduler.createWorker();
CountingRunnable counter = new CountingRunnable();
worker.schedule(counter, -1, TimeUnit.MINUTES);
runUiThreadTasks();
assertEquals(1, counter.get());
}
use of io.reactivex.android.testutil.CountingRunnable in project RxAndroid by ReactiveX.
the class HandlerSchedulerTest method workerScheduleOncePostsImmediately.
@Test
public void workerScheduleOncePostsImmediately() {
Worker worker = scheduler.createWorker();
CountingRunnable counter = new CountingRunnable();
worker.schedule(counter);
runUiThreadTasks();
assertEquals(1, counter.get());
}
use of io.reactivex.android.testutil.CountingRunnable in project RxAndroid by ReactiveX.
the class HandlerSchedulerTest method workerScheduleOnceWithDelayDisposedDoesNotRun.
@Test
public void workerScheduleOnceWithDelayDisposedDoesNotRun() {
Worker worker = scheduler.createWorker();
CountingRunnable counter = new CountingRunnable();
Disposable disposable = worker.schedule(counter, 1, MINUTES);
idleMainLooper(30, SECONDS);
disposable.dispose();
idleMainLooper(30, SECONDS);
runUiThreadTasks();
assertEquals(0, counter.get());
}
use of io.reactivex.android.testutil.CountingRunnable in project RxAndroid by ReactiveX.
the class HandlerSchedulerTest method workerScheduleOnceWithDelayPostsWithDelay.
@Test
public void workerScheduleOnceWithDelayPostsWithDelay() {
Worker worker = scheduler.createWorker();
CountingRunnable counter = new CountingRunnable();
worker.schedule(counter, 1, MINUTES);
runUiThreadTasks();
assertEquals(0, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(1, counter.get());
}
Aggregations