Skip to content

Commit

Permalink
Merge pull request ReactiveX#459 from zsxwing/issue454
Browse files Browse the repository at this point in the history
Fixed issue ReactiveX#454
  • Loading branch information
benjchristensen committed Oct 31, 2013
2 parents b985cac + 2edf3cb commit 10aff28
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions rxjava-core/src/main/java/rx/subscriptions/Subscriptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,16 @@
*/
package rx.subscriptions;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

import java.util.concurrent.Future;

import org.junit.Test;

import rx.Subscription;
import rx.operators.SafeObservableSubscription;
import rx.util.functions.Action0;

/**
Expand All @@ -41,14 +48,14 @@ public static Subscription empty() {
* @return {@link Subscription}
*/
public static Subscription create(final Action0 unsubscribe) {
return new Subscription() {
return new SafeObservableSubscription(new Subscription() {

@Override
public void unsubscribe() {
unsubscribe.call();
}

};
});
}

/**
Expand Down Expand Up @@ -122,4 +129,15 @@ public static CompositeSubscription create(Subscription... subscriptions) {
public void unsubscribe() {
}
};

public static class UnitTest {
@Test
public void testUnsubscribeOnlyOnce() {
Action0 unsubscribe = mock(Action0.class);
Subscription subscription = create(unsubscribe);
subscription.unsubscribe();
subscription.unsubscribe();
verify(unsubscribe, times(1)).call();
}
}
}

0 comments on commit 10aff28

Please sign in to comment.