Skip to content

Commit dba41f0

Browse files
committed
Simplify code; Junits
1 parent d7bd826 commit dba41f0

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

rxjava-core/src/test/java/rx/subscriptions/SerialSubscriptionTests.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,54 @@
1818
import static org.junit.Assert.fail;
1919
import static org.mockito.Mockito.mock;
2020
import static org.mockito.Mockito.verify;
21+
import static org.mockito.Mockito.verifyNoMoreInteractions;
22+
import static org.mockito.Mockito.verifyZeroInteractions;
2123

2224
import java.util.ArrayList;
2325
import java.util.List;
2426
import java.util.concurrent.CountDownLatch;
2527

2628
import org.junit.Before;
2729
import org.junit.Test;
28-
import org.mockito.MockitoAnnotations;
30+
import org.junit.runner.RunWith;
31+
import org.mockito.runners.MockitoJUnitRunner;
2932

3033
import rx.Subscription;
3134

35+
@RunWith(MockitoJUnitRunner.class)
3236
public class SerialSubscriptionTests {
3337
private SerialSubscription serialSubscription;
3438

3539
@Before
3640
public void setUp() {
37-
MockitoAnnotations.initMocks(this);
38-
3941
serialSubscription = new SerialSubscription();
4042
}
4143

4244
@Test
4345
public void unsubscribingWithoutUnderlyingDoesNothing() {
4446
serialSubscription.unsubscribe();
4547
}
48+
49+
@Test
50+
public void unsubscribingTwiceDoesUnsubscribeOnce() {
51+
Subscription underlying = mock(Subscription.class);
52+
serialSubscription.setSubscription(underlying);
53+
54+
serialSubscription.unsubscribe();
55+
verify(underlying).unsubscribe();
56+
57+
serialSubscription.unsubscribe();
58+
verifyNoMoreInteractions(underlying);
59+
}
60+
61+
@Test
62+
public void settingSameSubscriptionTwiceDoesUnsubscribeIt() {
63+
Subscription underlying = mock(Subscription.class);
64+
serialSubscription.setSubscription(underlying);
65+
verifyZeroInteractions(underlying);
66+
serialSubscription.setSubscription(underlying);
67+
verify(underlying).unsubscribe();;
68+
}
4669

4770
@Test
4871
public void unsubscribingWithSingleUnderlyingUnsubscribes() {
@@ -117,7 +140,7 @@ public void run() {
117140
verify(underlying).unsubscribe();
118141

119142
for (final Thread t : threads) {
120-
t.interrupt();
143+
t.join();
121144
}
122145
}
123146
}

0 commit comments

Comments
 (0)