16
16
17
17
package com .uber .autodispose ;
18
18
19
+ import com .uber .autodispose .observers .AutoDisposingObserver ;
19
20
import io .reactivex .Maybe ;
20
21
import io .reactivex .Observable ;
21
22
import io .reactivex .Observer ;
22
23
import io .reactivex .disposables .Disposable ;
23
24
import io .reactivex .disposables .Disposables ;
24
25
import io .reactivex .exceptions .CompositeException ;
26
+ import io .reactivex .functions .Action ;
27
+ import io .reactivex .functions .Consumer ;
25
28
import java .util .ArrayList ;
26
29
import java .util .Arrays ;
27
30
import java .util .List ;
33
36
import static org .junit .Assert .assertFalse ;
34
37
import static org .junit .Assert .assertTrue ;
35
38
36
- @ SuppressWarnings ("ThrowableResultOfMethodCallIgnored" )
37
- public class LambdaObserverTest {
39
+ @ SuppressWarnings ("ThrowableResultOfMethodCallIgnored" ) public class LambdaObserverTest {
38
40
39
41
@ Rule public RxErrorsRule errors = new RxErrorsRule ();
40
42
@@ -44,14 +46,29 @@ public class LambdaObserverTest {
44
46
final List <Object > received = new ArrayList <>();
45
47
46
48
AutoDisposingObserver <Object > o =
47
- new AutoDisposingObserver <>(lifecycle , received ::add , received ::add ,
48
- () -> received .add (100 ), s -> {
49
- throw new TestException ();
49
+ new AutoDisposingObserverImpl <>(lifecycle , new Consumer <Object >() {
50
+ @ Override public void accept (Object o ) throws Exception {
51
+ received .add (o );
52
+ }
53
+ }, new Consumer <Object >() {
54
+ @ Override public void accept (Object o ) throws Exception {
55
+ received .add (o );
56
+ }
57
+ }, new Action () {
58
+
59
+ @ Override public void run () throws Exception {
60
+ received .add (100 );
61
+ }
62
+ }, new Consumer <Disposable >() {
63
+ @ Override public void accept (Disposable disposable ) throws Exception {
64
+ throw new TestException ();
65
+ }
50
66
});
51
67
52
68
assertFalse (o .isDisposed ());
53
69
54
- Observable .just (1 ).subscribe (o );
70
+ Observable .just (1 )
71
+ .subscribe (o );
55
72
56
73
assertTrue (received .toString (), received .get (0 ) instanceof TestException );
57
74
assertEquals (received .toString (), 1 , received .size ());
@@ -62,14 +79,30 @@ public class LambdaObserverTest {
62
79
@ Test public void onNextThrows () {
63
80
final List <Object > received = new ArrayList <>();
64
81
65
- AutoDisposingObserver <Object > o = new AutoDisposingObserver <>(lifecycle , v -> {
66
- throw new TestException ();
67
- }, received ::add , () -> received .add (100 ), s -> {
68
- });
82
+ AutoDisposingObserver <Object > o =
83
+ new AutoDisposingObserverImpl <>(lifecycle , new Consumer <Object >() {
84
+ @ Override public void accept (Object o ) throws Exception {
85
+ throw new TestException ();
86
+ }
87
+ }, new Consumer <Throwable >() {
88
+ @ Override public void accept (Throwable o ) throws Exception {
89
+ received .add (o );
90
+ }
91
+ }, new Action () {
92
+
93
+ @ Override public void run () throws Exception {
94
+ received .add (100 );
95
+ }
96
+ }, new Consumer <Disposable >() {
97
+ @ Override public void accept (Disposable disposable ) throws Exception {
98
+ throw new TestException ();
99
+ }
100
+ });
69
101
70
102
assertFalse (o .isDisposed ());
71
103
72
- Observable .just (1 ).subscribe (o );
104
+ Observable .just (1 )
105
+ .subscribe (o );
73
106
74
107
assertTrue (received .toString (), received .get (0 ) instanceof TestException );
75
108
assertEquals (received .toString (), 1 , received .size ());
@@ -80,10 +113,24 @@ public class LambdaObserverTest {
80
113
@ Test public void onErrorThrows () {
81
114
final List <Object > received = new ArrayList <>();
82
115
83
- AutoDisposingObserver <Object > o = new AutoDisposingObserver <>(lifecycle , received ::add , e -> {
84
- throw new TestException ("Inner" );
85
- }, () -> received .add (100 ), s -> {
86
- });
116
+ AutoDisposingObserver <Object > o =
117
+ new AutoDisposingObserverImpl <>(lifecycle , new Consumer <Object >() {
118
+ @ Override public void accept (Object o ) throws Exception {
119
+ throw new TestException ();
120
+ }
121
+ }, new Consumer <Throwable >() {
122
+ @ Override public void accept (Throwable o ) throws Exception {
123
+ throw new TestException ("Inner" );
124
+ }
125
+ }, new Action () {
126
+
127
+ @ Override public void run () throws Exception {
128
+ received .add (100 );
129
+ }
130
+ }, new Consumer <Disposable >() {
131
+ @ Override public void accept (Disposable disposable ) throws Exception {
132
+ }
133
+ });
87
134
88
135
assertFalse (o .isDisposed ());
89
136
@@ -104,9 +151,21 @@ public class LambdaObserverTest {
104
151
final List <Object > received = new ArrayList <>();
105
152
106
153
AutoDisposingObserver <Object > o =
107
- new AutoDisposingObserver <>(lifecycle , received ::add , received ::add , () -> {
108
- throw new TestException ();
109
- }, s -> {
154
+ new AutoDisposingObserverImpl <>(lifecycle , new Consumer <Object >() {
155
+ @ Override public void accept (Object o ) throws Exception {
156
+ received .add (o );
157
+ }
158
+ }, new Consumer <Object >() {
159
+ @ Override public void accept (Object o ) throws Exception {
160
+ received .add (o );
161
+ }
162
+ }, new Action () {
163
+ @ Override public void run () throws Exception {
164
+ throw new TestException ();
165
+ }
166
+ }, new Consumer <Disposable >() {
167
+ @ Override public void accept (Disposable disposable ) throws Exception {
168
+ }
110
169
});
111
170
112
171
assertFalse (o .isDisposed ());
@@ -139,8 +198,24 @@ public class LambdaObserverTest {
139
198
final List <Object > received = new ArrayList <>();
140
199
141
200
AutoDisposingObserver <Object > o =
142
- new AutoDisposingObserver <>(lifecycle , received ::add , received ::add ,
143
- () -> received .add (100 ), s -> {});
201
+ new AutoDisposingObserverImpl <>(lifecycle , new Consumer <Object >() {
202
+ @ Override public void accept (Object o ) throws Exception {
203
+ received .add (o );
204
+ }
205
+ }, new Consumer <Object >() {
206
+ @ Override public void accept (Object o ) throws Exception {
207
+ received .add (o );
208
+ }
209
+ }, new Action () {
210
+
211
+ @ Override public void run () throws Exception {
212
+ received .add (100 );
213
+ }
214
+ }, new Consumer <Disposable >() {
215
+ @ Override public void accept (Disposable disposable ) throws Exception {
216
+
217
+ }
218
+ });
144
219
145
220
source .subscribe (o );
146
221
@@ -163,8 +238,23 @@ public class LambdaObserverTest {
163
238
final List <Object > received = new ArrayList <>();
164
239
165
240
AutoDisposingObserver <Object > o =
166
- new AutoDisposingObserver <>(lifecycle , received ::add , received ::add ,
167
- () -> received .add (100 ), s -> {});
241
+ new AutoDisposingObserverImpl <>(lifecycle , new Consumer <Object >() {
242
+ @ Override public void accept (Object o ) throws Exception {
243
+ received .add (o );
244
+ }
245
+ }, new Consumer <Object >() {
246
+ @ Override public void accept (Object o ) throws Exception {
247
+ received .add (o );
248
+ }
249
+ }, new Action () {
250
+
251
+ @ Override public void run () throws Exception {
252
+ received .add (100 );
253
+ }
254
+ }, new Consumer <Disposable >() {
255
+ @ Override public void accept (Disposable disposable ) throws Exception {
256
+ }
257
+ });
168
258
169
259
source .subscribe (o );
170
260
0 commit comments