From 549bdf2ce018035a01e0e94c9daaf5ea90b6ca87 Mon Sep 17 00:00:00 2001 From: Ben Christensen Date: Fri, 14 Nov 2014 13:37:58 -0800 Subject: [PATCH 1/4] Comment Out Ambiguous Overloads --- .../examples/ScanVsReduceExample.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/learnrxjava/examples/ScanVsReduceExample.java b/src/main/java/learnrxjava/examples/ScanVsReduceExample.java index 35afce5..acc471f 100644 --- a/src/main/java/learnrxjava/examples/ScanVsReduceExample.java +++ b/src/main/java/learnrxjava/examples/ScanVsReduceExample.java @@ -6,17 +6,17 @@ public class ScanVsReduceExample { - public static void main(String... args) { - Observable.range(0, 10).reduce(() -> new ArrayList(), (list, i) -> { - list.add(i); - return list; - }).forEach(System.out::println); - - System.out.println("... vs ..."); - - Observable.range(0, 10).scan(() -> new ArrayList(), (list, i) -> { - list.add(i); - return list; - }).forEach(System.out::println); - } +// public static void main(String... args) { +// Observable.range(0, 10).reduce(() -> new ArrayList(), (list, i) -> { +// list.add(i); +// return list; +// }).forEach(System.out::println); +// +// System.out.println("... vs ..."); +// +// Observable.range(0, 10).scan(() -> new ArrayList(), (list, i) -> { +// list.add(i); +// return list; +// }).forEach(System.out::println); +// } } From cad67f74bcce61630a9fd80f94d3dd5c07b54ea3 Mon Sep 17 00:00:00 2001 From: Ben Christensen Date: Fri, 14 Nov 2014 13:38:15 -0800 Subject: [PATCH 2/4] Unit Testing Example --- .../learnrxjava/examples/UnitTesting.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/learnrxjava/examples/UnitTesting.java b/src/main/java/learnrxjava/examples/UnitTesting.java index 398d4b2..c8f3221 100644 --- a/src/main/java/learnrxjava/examples/UnitTesting.java +++ b/src/main/java/learnrxjava/examples/UnitTesting.java @@ -1,5 +1,29 @@ package learnrxjava.examples; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; + +import rx.Observable; +import rx.observers.TestSubscriber; +import rx.schedulers.Schedulers; +import rx.schedulers.TestScheduler; + public class UnitTesting { + public static void main(String... args) { + TestScheduler test = Schedulers.test(); + TestSubscriber ts = new TestSubscriber<>(); + + Observable.interval(200, TimeUnit.MILLISECONDS, test) + .map(i -> { + return i + " value"; + }).subscribe(ts); + + test.advanceTimeBy(200, TimeUnit.MILLISECONDS); + ts.assertReceivedOnNext(Arrays.asList("0 value")); + + test.advanceTimeTo(1000, TimeUnit.MILLISECONDS); + ts.assertReceivedOnNext(Arrays.asList("0 value", "1 value", "2 value", "3 value", "4 value")); + } + } From fee36eb4626be618bbbb7f2b6e924f7fbf5ffd6b Mon Sep 17 00:00:00 2001 From: Justin Ryan Date: Fri, 14 Nov 2014 15:16:39 -0800 Subject: [PATCH 3/4] Align wording with test --- src/main/java/learnrxjava/ComposableListSolutions.java | 2 +- src/main/java/learnrxjava/ObservableExercises.java | 2 +- .../java/learnrxjava/examples/ScanVsReduceExample.java | 4 ++-- src/test/java/learnrxjava/ObservableSolutionsTest.java | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/learnrxjava/ComposableListSolutions.java b/src/main/java/learnrxjava/ComposableListSolutions.java index 5df5b0b..c2256d2 100644 --- a/src/main/java/learnrxjava/ComposableListSolutions.java +++ b/src/main/java/learnrxjava/ComposableListSolutions.java @@ -793,7 +793,7 @@ public static ComposableList exercise19() { return v.boxarts.reduce((max, box) -> { int maxSize = max.height * max.width; int boxSize = box.height * box.width; - if(boxSize > maxSize) { + if(boxSize < maxSize) { return box; } else { return max; diff --git a/src/main/java/learnrxjava/ObservableExercises.java b/src/main/java/learnrxjava/ObservableExercises.java index 9f7f408..e2767e6 100644 --- a/src/main/java/learnrxjava/ObservableExercises.java +++ b/src/main/java/learnrxjava/ObservableExercises.java @@ -7,7 +7,7 @@ public class ObservableExercises { /** - * Return an Observable that emits a single value "Hello World" + * Return an Observable that emits a single value "Hello World!" * * @return "Hello World!" */ diff --git a/src/main/java/learnrxjava/examples/ScanVsReduceExample.java b/src/main/java/learnrxjava/examples/ScanVsReduceExample.java index 35afce5..2c2ec65 100644 --- a/src/main/java/learnrxjava/examples/ScanVsReduceExample.java +++ b/src/main/java/learnrxjava/examples/ScanVsReduceExample.java @@ -7,14 +7,14 @@ public class ScanVsReduceExample { public static void main(String... args) { - Observable.range(0, 10).reduce(() -> new ArrayList(), (list, i) -> { + Observable.range(0, 10).reduce(new ArrayList<>(), (list, i) -> { list.add(i); return list; }).forEach(System.out::println); System.out.println("... vs ..."); - Observable.range(0, 10).scan(() -> new ArrayList(), (list, i) -> { + Observable.range(0, 10).scan(new ArrayList<>(), (list, i) -> { list.add(i); return list; }).forEach(System.out::println); diff --git a/src/test/java/learnrxjava/ObservableSolutionsTest.java b/src/test/java/learnrxjava/ObservableSolutionsTest.java index d75ac96..a7e2fa7 100644 --- a/src/test/java/learnrxjava/ObservableSolutionsTest.java +++ b/src/test/java/learnrxjava/ObservableSolutionsTest.java @@ -168,13 +168,13 @@ public void exerciseMovie() { Map map = getImpl().exerciseMovie(movies).toMap(i -> (int) i.get("id")).toBlocking().single(); System.out.println(map); assertTrue(map.containsKey(70111470)); - assertEquals(map.get(70111470).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/DieHard200.jpg, id=70111470, title=Die Hard}"); + assertEquals(map.get(70111470).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/DieHard150.jpg, id=70111470, title=Die Hard}"); assertTrue(map.containsKey(654356453)); - assertEquals(map.get(654356453).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/BadBoys200.jpg, id=654356453, title=Bad Boys}"); + assertEquals(map.get(654356453).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/BadBoys140.jpg, id=654356453, title=Bad Boys}"); assertTrue(map.containsKey(65432445)); - assertEquals(map.get(65432445).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/TheChamber200.jpg, id=65432445, title=The Chamber}"); + assertEquals(map.get(65432445).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/TheChamber130.jpg, id=65432445, title=The Chamber}"); assertTrue(map.containsKey(675465)); - assertEquals(map.get(675465).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/Fracture300.jpg, id=675465, title=Fracture}"); + assertEquals(map.get(675465).toString(), "{boxart=http://cdn-0.nflximg.com/images/2891/Fracture120.jpg, id=675465, title=Fracture}"); } @Test From 83d77a92d139615e16fc6384b3952247bf0eb623 Mon Sep 17 00:00:00 2001 From: Justin Ryan Date: Fri, 14 Nov 2014 15:25:18 -0800 Subject: [PATCH 4/4] Fix smallest reference --- src/main/java/learnrxjava/ObservableExercises.java | 2 +- src/main/java/learnrxjava/ObservableSolutions.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/learnrxjava/ObservableExercises.java b/src/main/java/learnrxjava/ObservableExercises.java index e2767e6..a7c5d00 100644 --- a/src/main/java/learnrxjava/ObservableExercises.java +++ b/src/main/java/learnrxjava/ObservableExercises.java @@ -72,7 +72,7 @@ public Observable exerciseReduce(Observable nums) { } /** - * Retrieve the id, title, and smallest box art url for every video. + * Retrieve the id, title, and smallest box art url for every video. * * Now let's try combining reduce() with our other functions to build more complex queries. * diff --git a/src/main/java/learnrxjava/ObservableSolutions.java b/src/main/java/learnrxjava/ObservableSolutions.java index 908ea57..405682a 100644 --- a/src/main/java/learnrxjava/ObservableSolutions.java +++ b/src/main/java/learnrxjava/ObservableSolutions.java @@ -98,7 +98,7 @@ public Observable exerciseMovie(Observable movies) { return v.boxarts.reduce((max, box) -> { int maxSize = max.height * max.width; int boxSize = box.height * box.width; - if (boxSize > maxSize) { + if (boxSize < maxSize) { return box; } else { return max;