15
15
*/
16
16
package rx .operators ;
17
17
18
- import static org .mockito .Matchers .*;
19
18
import static org .mockito .Mockito .*;
20
- import static rx .operators .OperationSkipWhile .*;
21
19
22
20
import org .junit .Test ;
23
21
import org .mockito .InOrder ;
@@ -51,7 +49,7 @@ public Boolean call(Integer value, Integer index) {
51
49
@ Test
52
50
public void testSkipWithIndex () {
53
51
Observable <Integer > src = Observable .from (1 , 2 , 3 , 4 , 5 );
54
- Observable . create ( skipWhileWithIndex (src , INDEX_LESS_THAN_THREE ) ).subscribe (w );
52
+ src . skipWhileWithIndex (INDEX_LESS_THAN_THREE ).subscribe (w );
55
53
56
54
InOrder inOrder = inOrder (w );
57
55
inOrder .verify (w , times (1 )).onNext (4 );
@@ -63,7 +61,7 @@ public void testSkipWithIndex() {
63
61
@ Test
64
62
public void testSkipEmpty () {
65
63
Observable <Integer > src = Observable .empty ();
66
- Observable . create ( skipWhile (src , LESS_THAN_FIVE ) ).subscribe (w );
64
+ src . skipWhile (LESS_THAN_FIVE ).subscribe (w );
67
65
verify (w , never ()).onNext (anyInt ());
68
66
verify (w , never ()).onError (any (Throwable .class ));
69
67
verify (w , times (1 )).onCompleted ();
@@ -72,7 +70,7 @@ public void testSkipEmpty() {
72
70
@ Test
73
71
public void testSkipEverything () {
74
72
Observable <Integer > src = Observable .from (1 , 2 , 3 , 4 , 3 , 2 , 1 );
75
- Observable . create ( skipWhile (src , LESS_THAN_FIVE ) ).subscribe (w );
73
+ src . skipWhile (LESS_THAN_FIVE ).subscribe (w );
76
74
verify (w , never ()).onNext (anyInt ());
77
75
verify (w , never ()).onError (any (Throwable .class ));
78
76
verify (w , times (1 )).onCompleted ();
@@ -81,7 +79,7 @@ public void testSkipEverything() {
81
79
@ Test
82
80
public void testSkipNothing () {
83
81
Observable <Integer > src = Observable .from (5 , 3 , 1 );
84
- Observable . create ( skipWhile (src , LESS_THAN_FIVE ) ).subscribe (w );
82
+ src . skipWhile (LESS_THAN_FIVE ).subscribe (w );
85
83
86
84
InOrder inOrder = inOrder (w );
87
85
inOrder .verify (w , times (1 )).onNext (5 );
@@ -94,7 +92,7 @@ public void testSkipNothing() {
94
92
@ Test
95
93
public void testSkipSome () {
96
94
Observable <Integer > src = Observable .from (1 , 2 , 3 , 4 , 5 , 3 , 1 , 5 );
97
- Observable . create ( skipWhile (src , LESS_THAN_FIVE ) ).subscribe (w );
95
+ src . skipWhile (LESS_THAN_FIVE ).subscribe (w );
98
96
99
97
InOrder inOrder = inOrder (w );
100
98
inOrder .verify (w , times (1 )).onNext (5 );
@@ -108,11 +106,30 @@ public void testSkipSome() {
108
106
@ Test
109
107
public void testSkipError () {
110
108
Observable <Integer > src = Observable .from (1 , 2 , 42 , 5 , 3 , 1 );
111
- Observable . create ( skipWhile (src , LESS_THAN_FIVE ) ).subscribe (w );
109
+ src . skipWhile (LESS_THAN_FIVE ).subscribe (w );
112
110
113
111
InOrder inOrder = inOrder (w );
114
112
inOrder .verify (w , never ()).onNext (anyInt ());
115
113
inOrder .verify (w , never ()).onCompleted ();
116
114
inOrder .verify (w , times (1 )).onError (any (RuntimeException .class ));
117
115
}
116
+
117
+ @ Test
118
+ public void testSkipManySubscribers () {
119
+ Observable <Integer > src = Observable .range (1 , 10 ).skipWhile (LESS_THAN_FIVE );
120
+ int n = 5 ;
121
+ for (int i = 0 ; i < n ; i ++) {
122
+ @ SuppressWarnings ("unchecked" )
123
+ Observer <Object > o = mock (Observer .class );
124
+ InOrder inOrder = inOrder (o );
125
+
126
+ src .subscribe (o );
127
+
128
+ for (int j = 5 ; j < 10 ; j ++) {
129
+ inOrder .verify (o ).onNext (j );
130
+ }
131
+ inOrder .verify (o ).onCompleted ();
132
+ verify (o , never ()).onError (any (Throwable .class ));
133
+ }
134
+ }
118
135
}
0 commit comments