Skip to content

Commit 5f34896

Browse files
author
jmhofer
committed
Tested unsubscription, too
1 parent a372ee8 commit 5f34896

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

rxjava-core/src/main/java/rx/Scheduler.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public <T> Subscription schedulePeriodically(T state, final Func2<Scheduler, T,
107107
final Func2<Scheduler, T, Subscription> recursiveAction = new Func2<Scheduler, T, Subscription>() {
108108
@Override
109109
public Subscription call(Scheduler scheduler, T state0) {
110-
if (! complete.get()) {
110+
if (!complete.get()) {
111111
long startedAt = now();
112112
final Subscription sub1 = action.call(scheduler, state0);
113113
long timeTakenByActionInNanos = TimeUnit.MILLISECONDS.toNanos(now() - startedAt);
@@ -343,7 +343,7 @@ public void testPeriodicScheduling() {
343343
final Func1<Long, Void> calledOp = mock(Func1.class);
344344

345345
final TestScheduler scheduler = new TestScheduler();
346-
scheduler.schedulePeriodically(new Action0() {
346+
Subscription subscription = scheduler.schedulePeriodically(new Action0() {
347347
@Override public void call() {
348348
System.out.println(scheduler.now());
349349
calledOp.call(scheduler.now());
@@ -369,6 +369,10 @@ public void testPeriodicScheduling() {
369369
scheduler.advanceTimeBy(5L, TimeUnit.SECONDS);
370370
inOrder.verify(calledOp, times(1)).call(5000L);
371371
inOrder.verify(calledOp, times(1)).call(7000L);
372+
373+
subscription.unsubscribe();
374+
scheduler.advanceTimeBy(11L, TimeUnit.SECONDS);
375+
inOrder.verify(calledOp, never()).call(anyLong());
372376
}
373377
}
374378
}

0 commit comments

Comments
 (0)