9
9
public class OperatorSkipTest {
10
10
11
11
@ Test
12
- public void testSkip1 () {
13
- Observable < String > w = Observable . from ( "one" , "two" , "three" );
14
- Observable <String > skip = w . lift (new OperatorSkip <String >(2 ));
12
+ public void testSkipNegativeElements () {
13
+
14
+ Observable <String > skip = Observable . from ( "one" , "two" , "three" ). lift (new OperatorSkip <String >(- 99 ));
15
15
16
16
@ SuppressWarnings ("unchecked" )
17
17
Observer <String > observer = mock (Observer .class );
18
18
skip .subscribe (observer );
19
- verify (observer , never ( )).onNext ("one" );
20
- verify (observer , never ( )).onNext ("two" );
19
+ verify (observer , times ( 1 )).onNext ("one" );
20
+ verify (observer , times ( 1 )).onNext ("two" );
21
21
verify (observer , times (1 )).onNext ("three" );
22
22
verify (observer , never ()).onError (any (Throwable .class ));
23
23
verify (observer , times (1 )).onCompleted ();
24
24
}
25
25
26
26
@ Test
27
- public void testSkip2 () {
28
- Observable <String > w = Observable .from ("one" , "two" , "three" );
29
- Observable <String > skip = w .lift (new OperatorSkip <String >(1 ));
27
+ public void testSkipZeroElements () {
28
+
29
+ Observable <String > skip = Observable .from ("one" , "two" , "three" ).lift (new OperatorSkip <String >(0 ));
30
+
31
+ @ SuppressWarnings ("unchecked" )
32
+ Observer <String > observer = mock (Observer .class );
33
+ skip .subscribe (observer );
34
+ verify (observer , times (1 )).onNext ("one" );
35
+ verify (observer , times (1 )).onNext ("two" );
36
+ verify (observer , times (1 )).onNext ("three" );
37
+ verify (observer , never ()).onError (any (Throwable .class ));
38
+ verify (observer , times (1 )).onCompleted ();
39
+ }
40
+
41
+ @ Test
42
+ public void testSkipOneElement () {
43
+
44
+ Observable <String > skip = Observable .from ("one" , "two" , "three" ).lift (new OperatorSkip <String >(1 ));
30
45
31
46
@ SuppressWarnings ("unchecked" )
32
47
Observer <String > observer = mock (Observer .class );
@@ -37,4 +52,75 @@ public void testSkip2() {
37
52
verify (observer , never ()).onError (any (Throwable .class ));
38
53
verify (observer , times (1 )).onCompleted ();
39
54
}
55
+
56
+ @ Test
57
+ public void testSkipTwoElements () {
58
+
59
+ Observable <String > skip = Observable .from ("one" , "two" , "three" ).lift (new OperatorSkip <String >(2 ));
60
+
61
+ @ SuppressWarnings ("unchecked" )
62
+ Observer <String > observer = mock (Observer .class );
63
+ skip .subscribe (observer );
64
+ verify (observer , never ()).onNext ("one" );
65
+ verify (observer , never ()).onNext ("two" );
66
+ verify (observer , times (1 )).onNext ("three" );
67
+ verify (observer , never ()).onError (any (Throwable .class ));
68
+ verify (observer , times (1 )).onCompleted ();
69
+ }
70
+
71
+ @ Test
72
+ public void testSkipEmptyStream () {
73
+
74
+ Observable <String > w = Observable .empty ();
75
+ Observable <String > skip = w .lift (new OperatorSkip <String >(1 ));
76
+
77
+ @ SuppressWarnings ("unchecked" )
78
+ Observer <String > observer = mock (Observer .class );
79
+ skip .subscribe (observer );
80
+ verify (observer , never ()).onNext (any (String .class ));
81
+ verify (observer , never ()).onError (any (Throwable .class ));
82
+ verify (observer , times (1 )).onCompleted ();
83
+ }
84
+
85
+ @ Test
86
+ public void testSkipMultipleObservers () {
87
+
88
+ Observable <String > skip = Observable .from ("one" , "two" , "three" ).lift (new OperatorSkip <String >(2 ));
89
+
90
+ @ SuppressWarnings ("unchecked" )
91
+ Observer <String > observer1 = mock (Observer .class );
92
+ skip .subscribe (observer1 );
93
+
94
+ @ SuppressWarnings ("unchecked" )
95
+ Observer <String > observer2 = mock (Observer .class );
96
+ skip .subscribe (observer2 );
97
+
98
+ verify (observer1 , times (1 )).onNext (any (String .class ));
99
+ verify (observer1 , never ()).onError (any (Throwable .class ));
100
+ verify (observer1 , times (1 )).onCompleted ();
101
+
102
+ verify (observer2 , times (1 )).onNext (any (String .class ));
103
+ verify (observer2 , never ()).onError (any (Throwable .class ));
104
+ verify (observer2 , times (1 )).onCompleted ();
105
+ }
106
+
107
+ @ Test
108
+ public void testSkipError () {
109
+
110
+ Exception e = new Exception ();
111
+
112
+ Observable <String > ok = Observable .from ("one" );
113
+ Observable <String > error = Observable .error (e );
114
+
115
+ Observable <String > skip = Observable .concat (ok , error ).lift (new OperatorSkip <String >(100 ));
116
+
117
+ @ SuppressWarnings ("unchecked" )
118
+ Observer <String > observer = mock (Observer .class );
119
+ skip .subscribe (observer );
120
+
121
+ verify (observer , never ()).onNext (any (String .class ));
122
+ verify (observer , times (1 )).onError (e );
123
+ verify (observer , never ()).onCompleted ();
124
+
125
+ }
40
126
}
0 commit comments