18
18
import static org .junit .Assert .*;
19
19
import static org .mockito .Matchers .*;
20
20
import static org .mockito .Mockito .*;
21
- import static rx .operators .OperationTake .*;
21
+ import static rx .operators .OperatorTake .*;
22
22
23
+ import java .util .Arrays ;
23
24
import java .util .concurrent .TimeUnit ;
24
25
import java .util .concurrent .atomic .AtomicBoolean ;
25
26
35
36
import rx .subscriptions .Subscriptions ;
36
37
import rx .util .functions .Func1 ;
37
38
38
- public class OperationTakeTest {
39
+ public class OperatorTakeTest {
39
40
40
41
@ Test
41
42
public void testTake1 () {
42
- Observable <String > w = Observable .from ("one" , "two" , "three" );
43
- Observable <String > take = Observable . create ( take ( w , 2 ));
43
+ Observable <String > w = Observable .from (Arrays . asList ( "one" , "two" , "three" ) );
44
+ Observable <String > take = w . bind ( new OperatorTake < String >( 2 ));
44
45
45
46
@ SuppressWarnings ("unchecked" )
46
47
Observer <String > aObserver = mock (Observer .class );
@@ -54,8 +55,8 @@ public void testTake1() {
54
55
55
56
@ Test
56
57
public void testTake2 () {
57
- Observable <String > w = Observable .from ("one" , "two" , "three" );
58
- Observable <String > take = Observable . create ( take ( w , 1 ));
58
+ Observable <String > w = Observable .from (Arrays . asList ( "one" , "two" , "three" ) );
59
+ Observable <String > take = w . bind ( new OperatorTake < String >( 1 ));
59
60
60
61
@ SuppressWarnings ("unchecked" )
61
62
Observer <String > aObserver = mock (Observer .class );
@@ -69,7 +70,7 @@ public void testTake2() {
69
70
70
71
@ Test (expected = IllegalArgumentException .class )
71
72
public void testTakeWithError () {
72
- Observable .from (1 , 2 , 3 ).take (1 ).map (new Func1 <Integer , Integer >() {
73
+ Observable .from (Arrays . asList ( 1 , 2 , 3 ) ).take (1 ).map (new Func1 <Integer , Integer >() {
73
74
public Integer call (Integer t1 ) {
74
75
throw new IllegalArgumentException ("some error" );
75
76
}
@@ -78,7 +79,7 @@ public Integer call(Integer t1) {
78
79
79
80
@ Test
80
81
public void testTakeWithErrorHappeningInOnNext () {
81
- Observable <Integer > w = Observable .from (1 , 2 , 3 ).take (2 ).map (new Func1 <Integer , Integer >() {
82
+ Observable <Integer > w = Observable .from (Arrays . asList ( 1 , 2 , 3 ) ).take (2 ).map (new Func1 <Integer , Integer >() {
82
83
public Integer call (Integer t1 ) {
83
84
throw new IllegalArgumentException ("some error" );
84
85
}
@@ -94,7 +95,7 @@ public Integer call(Integer t1) {
94
95
95
96
@ Test
96
97
public void testTakeWithErrorHappeningInTheLastOnNext () {
97
- Observable <Integer > w = Observable .from (1 , 2 , 3 ).take (1 ).map (new Func1 <Integer , Integer >() {
98
+ Observable <Integer > w = Observable .from (Arrays . asList ( 1 , 2 , 3 ) ).take (1 ).map (new Func1 <Integer , Integer >() {
98
99
public Integer call (Integer t1 ) {
99
100
throw new IllegalArgumentException ("some error" );
100
101
}
@@ -122,7 +123,7 @@ public Subscription onSubscribe(Observer<? super String> observer) {
122
123
@ SuppressWarnings ("unchecked" )
123
124
Observer <String > aObserver = mock (Observer .class );
124
125
125
- Observable . create ( take ( source , 1 )).subscribe (aObserver );
126
+ source . bind ( new OperatorTake < String >( 1 )).subscribe (aObserver );
126
127
127
128
verify (aObserver , times (1 )).onNext ("one" );
128
129
// even though onError is called we take(1) so shouldn't see it
@@ -152,7 +153,7 @@ public void unsubscribe() {
152
153
@ SuppressWarnings ("unchecked" )
153
154
Observer <String > aObserver = mock (Observer .class );
154
155
155
- Observable . create ( take ( source , 0 )).subscribe (aObserver );
156
+ source . bind ( new OperatorTake < String >( 0 )).subscribe (aObserver );
156
157
assertTrue ("source subscribed" , subscribed .get ());
157
158
assertTrue ("source unsubscribed" , unSubscribed .get ());
158
159
@@ -171,7 +172,7 @@ public void testUnsubscribeAfterTake() {
171
172
172
173
@ SuppressWarnings ("unchecked" )
173
174
Observer <String > aObserver = mock (Observer .class );
174
- Observable <String > take = Observable . create ( take ( w , 1 ));
175
+ Observable <String > take = w . bind ( new OperatorTake < String >( 1 ));
175
176
take .subscribe (aObserver );
176
177
177
178
// wait for the Observable to complete
@@ -228,99 +229,4 @@ public void run() {
228
229
return s ;
229
230
}
230
231
}
231
-
232
- @ Test
233
- public void testTakeTimed () {
234
- TestScheduler scheduler = new TestScheduler ();
235
-
236
- PublishSubject <Integer > source = PublishSubject .create ();
237
-
238
- Observable <Integer > result = source .take (1 , TimeUnit .SECONDS , scheduler );
239
-
240
- Observer <Object > o = mock (Observer .class );
241
-
242
- result .subscribe (o );
243
-
244
- source .onNext (1 );
245
- source .onNext (2 );
246
- source .onNext (3 );
247
-
248
- scheduler .advanceTimeBy (1 , TimeUnit .SECONDS );
249
-
250
- source .onNext (4 );
251
-
252
- InOrder inOrder = inOrder (o );
253
- inOrder .verify (o ).onNext (1 );
254
- inOrder .verify (o ).onNext (2 );
255
- inOrder .verify (o ).onNext (3 );
256
- inOrder .verify (o ).onCompleted ();
257
- inOrder .verifyNoMoreInteractions ();
258
-
259
- verify (o , never ()).onNext (4 );
260
- verify (o , never ()).onError (any (Throwable .class ));
261
- }
262
-
263
- @ Test
264
- public void testTakeTimedErrorBeforeTime () {
265
- TestScheduler scheduler = new TestScheduler ();
266
-
267
- PublishSubject <Integer > source = PublishSubject .create ();
268
-
269
- Observable <Integer > result = source .take (1 , TimeUnit .SECONDS , scheduler );
270
-
271
- Observer <Object > o = mock (Observer .class );
272
-
273
- result .subscribe (o );
274
-
275
- source .onNext (1 );
276
- source .onNext (2 );
277
- source .onNext (3 );
278
- source .onError (new CustomException ());
279
-
280
- scheduler .advanceTimeBy (1 , TimeUnit .SECONDS );
281
-
282
- source .onNext (4 );
283
-
284
- InOrder inOrder = inOrder (o );
285
- inOrder .verify (o ).onNext (1 );
286
- inOrder .verify (o ).onNext (2 );
287
- inOrder .verify (o ).onNext (3 );
288
- inOrder .verify (o ).onError (any (CustomException .class ));
289
- inOrder .verifyNoMoreInteractions ();
290
-
291
- verify (o , never ()).onCompleted ();
292
- verify (o , never ()).onNext (4 );
293
- }
294
-
295
- @ Test
296
- public void testTakeTimedErrorAfterTime () {
297
- TestScheduler scheduler = new TestScheduler ();
298
-
299
- PublishSubject <Integer > source = PublishSubject .create ();
300
-
301
- Observable <Integer > result = source .take (1 , TimeUnit .SECONDS , scheduler );
302
-
303
- Observer <Object > o = mock (Observer .class );
304
-
305
- result .subscribe (o );
306
-
307
- source .onNext (1 );
308
- source .onNext (2 );
309
- source .onNext (3 );
310
-
311
- scheduler .advanceTimeBy (1 , TimeUnit .SECONDS );
312
-
313
- source .onNext (4 );
314
- source .onError (new CustomException ());
315
-
316
- InOrder inOrder = inOrder (o );
317
- inOrder .verify (o ).onNext (1 );
318
- inOrder .verify (o ).onNext (2 );
319
- inOrder .verify (o ).onNext (3 );
320
- inOrder .verify (o ).onCompleted ();
321
- inOrder .verifyNoMoreInteractions ();
322
-
323
- verify (o , never ()).onNext (4 );
324
- verify (o , never ()).onError (any (CustomException .class ));
325
- }
326
232
}
0 commit comments