/** * Removes all handlers and resets to default behavior. */ public static void reset() { setErrorHandler(null); setScheduleHandler(null); setComputationSchedulerHandler(null); setInitComputationSchedulerHandler(null); setIoSchedulerHandler(null); setInitIoSchedulerHandler(null); setSingleSchedulerHandler(null); setInitSingleSchedulerHandler(null); setNewThreadSchedulerHandler(null); setInitNewThreadSchedulerHandler(null); setFailOnNonBlockingScheduler(false); setOnBeforeBlocking(null); }
@Test public void overrideComputationScheduler() { try { RxJavaCommonPlugins.setComputationSchedulerHandler(replaceWithImmediate); assertSame(ImmediateThinScheduler.INSTANCE, Schedulers.computation()); } finally { RxJavaCommonPlugins.reset(); } // make sure the reset worked assertNotSame(ImmediateThinScheduler.INSTANCE, Schedulers.computation()); }
/** * Removes all handlers and resets to default behavior. */ public static void reset() { setErrorHandler(null); setScheduleHandler(null); setComputationSchedulerHandler(null); setInitComputationSchedulerHandler(null); setIoSchedulerHandler(null); setInitIoSchedulerHandler(null); setSingleSchedulerHandler(null); setInitSingleSchedulerHandler(null); setNewThreadSchedulerHandler(null); setInitNewThreadSchedulerHandler(null); setFailOnNonBlockingScheduler(false); setOnBeforeBlocking(null); }
/** * Removes all handlers and resets to default behavior. */ public static void reset() { setErrorHandler(null); setScheduleHandler(null); setComputationSchedulerHandler(null); setInitComputationSchedulerHandler(null); setIoSchedulerHandler(null); setInitIoSchedulerHandler(null); setSingleSchedulerHandler(null); setInitSingleSchedulerHandler(null); setNewThreadSchedulerHandler(null); setInitNewThreadSchedulerHandler(null); setFailOnNonBlockingScheduler(false); setOnBeforeBlocking(null); }
@Test public void createComputationScheduler() { final String name = "ComputationSchedulerTest"; ThreadFactory factory = new ThreadFactory() { @Override public Thread newThread(Runnable r) { return new Thread(r, name); } }; final Scheduler customScheduler = RxJavaCommonPlugins.createComputationScheduler(factory); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler scheduler) throws Exception { return customScheduler; } }); try { verifyThread(Schedulers.computation(), name); } finally { customScheduler.shutdown(); RxJavaCommonPlugins.reset(); } }
public void timeAndSkipOverlapScheduler() { RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler t) {
@Test public void timeIntervalDefault() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Observable.range(1, 5) .timestamp() .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@Test public void timeIntervalDefaultSchedulerCustomUnit() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Flowable.range(1, 5) .timestamp(TimeUnit.SECONDS) .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@Test public void timeIntervalDefault() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Flowable.range(1, 5) .timeInterval() .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@Test public void timeIntervalDefaultSchedulerCustomUnit() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Observable.range(1, 5) .timeInterval(TimeUnit.SECONDS) .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@Test public void timeIntervalDefault() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Flowable.range(1, 5) .timestamp() .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@Test public void timeIntervalDefaultSchedulerCustomUnit() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Flowable.range(1, 5) .timeInterval(TimeUnit.SECONDS) .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@Test public void timeIntervalDefault() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Observable.range(1, 5) .timeInterval() .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@Test public void timeIntervalDefaultSchedulerCustomUnit() { final TestScheduler scheduler = new TestScheduler(); RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler v) throws Exception { return scheduler; } }); try { Observable.range(1, 5) .timestamp(TimeUnit.SECONDS) .map(new Function<Timed<Integer>, Long>() { @Override public Long apply(Timed<Integer> v) throws Exception { return v.time(); } }) .test() .assertResult(0L, 0L, 0L, 0L, 0L); } finally { RxJavaCommonPlugins.reset(); } }
@SuppressWarnings("unchecked") @Test public void timeAndSkipSkipDefaultScheduler() { RxJavaCommonPlugins.setComputationSchedulerHandler(new Function<Scheduler, Scheduler>() { @Override public Scheduler apply(Scheduler t) {
RxJavaCommonPlugins.setComputationSchedulerHandler(scheduler2scheduler); RxJavaCommonPlugins.setIoSchedulerHandler(scheduler2scheduler); RxJavaCommonPlugins.setNewThreadSchedulerHandler(scheduler2scheduler);