Skip to content

Commit a0f4b30

Browse files
Merge pull request ReactiveX#364 from benjchristensen/tests
additions to tests
2 parents 9e7c9cb + 4db7143 commit a0f4b30

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

language-adaptors/rxjava-groovy/src/test/groovy/rx/lang/groovy/ObservableTests.groovy

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,31 @@ def class ObservableTests {
298298
verify(a, times(1)).received(true);
299299
}
300300

301+
302+
@Test
303+
public void testZip() {
304+
Observable o1 = Observable.from(1, 2, 3);
305+
Observable o2 = Observable.from(4, 5, 6);
306+
Observable o3 = Observable.from(7, 8, 9);
307+
308+
List values = Observable.zip(o1, o2, o3, {a, b, c -> [a, b, c] }).toList().toBlockingObservable().single();
309+
assertEquals([1, 4, 7], values.get(0));
310+
assertEquals([2, 5, 8], values.get(1));
311+
assertEquals([3, 6, 9], values.get(2));
312+
}
313+
314+
@Test
315+
public void testZipWithIterable() {
316+
Observable o1 = Observable.from(1, 2, 3);
317+
Observable o2 = Observable.from(4, 5, 6);
318+
Observable o3 = Observable.from(7, 8, 9);
319+
320+
List values = Observable.zip([o1, o2, o3], {a, b, c -> [a, b, c] }).toList().toBlockingObservable().single();
321+
assertEquals([1, 4, 7], values.get(0));
322+
assertEquals([2, 5, 8], values.get(1));
323+
assertEquals([3, 6, 9], values.get(2));
324+
}
325+
301326
@Test
302327
public void testGroupBy() {
303328
int count=0;

rxjava-core/src/test/java/rx/ReduceTests.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,22 @@ public Integer call(Integer t1, Integer t2) {
2727

2828
@Test
2929
public void reduceWithObjects() {
30+
Observable<Movie> horrorMovies = Observable.<Movie> from(new HorrorMovie());
31+
32+
Func2<Movie, Movie, Movie> chooseSecondMovie =
33+
new Func2<Movie, Movie, Movie>() {
34+
public Movie call(Movie t1, Movie t2) {
35+
return t2;
36+
}
37+
};
38+
39+
Observable<Movie> reduceResult = Observable.create(OperationScan.scan(horrorMovies, chooseSecondMovie)).takeLast(1);
40+
41+
Observable<Movie> reduceResult2 = horrorMovies.reduce(chooseSecondMovie);
42+
}
43+
44+
@Test
45+
public void reduceWithCovariantObjects() {
3046
Observable<HorrorMovie> horrorMovies = Observable.from(new HorrorMovie());
3147

3248
Func2<Movie, Movie, Movie> chooseSecondMovie =
@@ -61,8 +77,10 @@ public Movie call(Movie t1, Movie t2) {
6177
}
6278
};
6379

80+
Observable<Movie> reduceResult = Observable.create(OperationScan.scan(obs, chooseSecondMovie)).takeLast(1);
81+
6482
//TODO this isn't compiling
65-
// Observable<Movie> reduceResult = obs.reduce((Func2<? super Movie, ? super Movie, ? extends Movie>) chooseSecondMovie);
83+
// Observable<Movie> reduceResult2 = obs.reduce(chooseSecondMovie);
6684
// do something with reduceResult...
6785
}
6886

0 commit comments

Comments
 (0)