16
16
package rx ;
17
17
18
18
import static org .junit .Assert .assertEquals ;
19
- import static org .junit .Assert .assertTrue ;
20
19
21
20
import java .util .Arrays ;
22
21
import java .util .List ;
@@ -57,6 +56,8 @@ public void testConcatWithObservableOfObservable() {
57
56
assertEquals ("two" , values .get (1 ));
58
57
assertEquals ("three" , values .get (2 ));
59
58
assertEquals ("four" , values .get (3 ));
59
+ assertEquals ("five" , values .get (4 ));
60
+ assertEquals ("six" , values .get (5 ));
60
61
}
61
62
62
63
@ Test
@@ -74,66 +75,99 @@ public void testConcatWithIterableOfObservable() {
74
75
assertEquals ("two" , values .get (1 ));
75
76
assertEquals ("three" , values .get (2 ));
76
77
assertEquals ("four" , values .get (3 ));
78
+ assertEquals ("five" , values .get (4 ));
79
+ assertEquals ("six" , values .get (5 ));
77
80
}
78
81
79
82
@ Test
80
83
public void testConcatCovariance () {
81
- Observable <Media > o1 = Observable .<Media > from (new HorrorMovie (), new Movie ());
82
- Observable <Media > o2 = Observable .from (new Media (), new HorrorMovie ());
84
+ HorrorMovie horrorMovie1 = new HorrorMovie ();
85
+ Movie movie = new Movie ();
86
+ Media media = new Media ();
87
+ HorrorMovie horrorMovie2 = new HorrorMovie ();
88
+
89
+ Observable <Media > o1 = Observable .<Media > from (horrorMovie1 , movie );
90
+ Observable <Media > o2 = Observable .from (media , horrorMovie2 );
83
91
84
92
Observable <Observable <Media >> os = Observable .from (o1 , o2 );
85
93
86
94
List <Media > values = Observable .concat (os ).toList ().toBlocking ().single ();
87
95
96
+ assertEquals (horrorMovie1 , values .get (0 ));
97
+ assertEquals (movie , values .get (1 ));
98
+ assertEquals (media , values .get (2 ));
99
+ assertEquals (horrorMovie2 , values .get (3 ));
88
100
assertEquals (4 , values .size ());
89
101
}
90
102
91
103
@ Test
92
104
public void testConcatCovariance2 () {
93
- Observable <Media > o1 = Observable .from (new HorrorMovie (), new Movie (), new Media ());
94
- Observable <Media > o2 = Observable .from (new Media (), new HorrorMovie ());
105
+ HorrorMovie horrorMovie1 = new HorrorMovie ();
106
+ Movie movie = new Movie ();
107
+ Media media1 = new Media ();
108
+ Media media2 = new Media ();
109
+ HorrorMovie horrorMovie2 = new HorrorMovie ();
110
+
111
+ Observable <Media > o1 = Observable .from (horrorMovie1 , movie , media1 );
112
+ Observable <Media > o2 = Observable .from (media2 , horrorMovie2 );
95
113
96
114
Observable <Observable <Media >> os = Observable .from (o1 , o2 );
97
115
98
116
List <Media > values = Observable .concat (os ).toList ().toBlocking ().single ();
99
117
118
+ assertEquals (horrorMovie1 , values .get (0 ));
119
+ assertEquals (movie , values .get (1 ));
120
+ assertEquals (media1 , values .get (2 ));
121
+ assertEquals (media2 , values .get (3 ));
122
+ assertEquals (horrorMovie2 , values .get (4 ));
100
123
assertEquals (5 , values .size ());
101
124
}
102
125
103
126
@ Test
104
127
public void testConcatCovariance3 () {
105
- Observable <Movie > o1 = Observable .from (new HorrorMovie (), new Movie ());
106
- Observable <Media > o2 = Observable .from (new Media (), new HorrorMovie ());
128
+ HorrorMovie horrorMovie1 = new HorrorMovie ();
129
+ Movie movie = new Movie ();
130
+ Media media = new Media ();
131
+ HorrorMovie horrorMovie2 = new HorrorMovie ();
132
+
133
+ Observable <Movie > o1 = Observable .from (horrorMovie1 , movie );
134
+ Observable <Media > o2 = Observable .from (media , horrorMovie2 );
107
135
108
136
List <Media > values = Observable .concat (o1 , o2 ).toList ().toBlocking ().single ();
109
137
110
- assertTrue (values .get (0 ) instanceof HorrorMovie );
111
- assertTrue (values .get (1 ) instanceof Movie );
112
- assertTrue (values .get (2 ) instanceof Media );
113
- assertTrue (values .get (3 ) instanceof HorrorMovie );
138
+ assertEquals (horrorMovie1 , values .get (0 ));
139
+ assertEquals (movie , values .get (1 ));
140
+ assertEquals (media , values .get (2 ));
141
+ assertEquals (horrorMovie2 , values .get (3 ));
142
+ assertEquals (4 , values .size ());
114
143
}
115
144
116
145
@ Test
117
146
public void testConcatCovariance4 () {
118
-
147
+ final HorrorMovie horrorMovie1 = new HorrorMovie ();
148
+ final Movie movie = new Movie ();
149
+ Media media = new Media ();
150
+ HorrorMovie horrorMovie2 = new HorrorMovie ();
151
+
119
152
Observable <Movie > o1 = Observable .create (new OnSubscribe <Movie >() {
120
153
121
154
@ Override
122
155
public void call (Subscriber <? super Movie > o ) {
123
- o .onNext (new HorrorMovie () );
124
- o .onNext (new Movie () );
156
+ o .onNext (horrorMovie1 );
157
+ o .onNext (movie );
125
158
// o.onNext(new Media()); // correctly doesn't compile
126
159
o .onCompleted ();
127
160
}
128
161
});
129
162
130
- Observable <Media > o2 = Observable .from (new Media (), new HorrorMovie () );
163
+ Observable <Media > o2 = Observable .from (media , horrorMovie2 );
131
164
132
165
List <Media > values = Observable .concat (o1 , o2 ).toList ().toBlocking ().single ();
133
166
134
- assertTrue (values .get (0 ) instanceof HorrorMovie );
135
- assertTrue (values .get (1 ) instanceof Movie );
136
- assertTrue (values .get (2 ) instanceof Media );
137
- assertTrue (values .get (3 ) instanceof HorrorMovie );
167
+ assertEquals (horrorMovie1 , values .get (0 ));
168
+ assertEquals (movie , values .get (1 ));
169
+ assertEquals (media , values .get (2 ));
170
+ assertEquals (horrorMovie2 , values .get (3 ));
171
+ assertEquals (4 , values .size ());
138
172
}
139
173
}
0 commit comments