From 70b5e9b4038d33a460a1c7ccaa248111368e19d3 Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Wed, 28 Mar 2018 09:31:16 +0200 Subject: [PATCH] Update ObservableCombineUnitTest.java (#3896) --- .../combine/ObservableCombineUnitTest.java | 62 ++++++++----------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/rxjava/src/test/java/com/baeldung/rxjava/combine/ObservableCombineUnitTest.java b/rxjava/src/test/java/com/baeldung/rxjava/combine/ObservableCombineUnitTest.java index 72eab2fdfd..eafcc624af 100644 --- a/rxjava/src/test/java/com/baeldung/rxjava/combine/ObservableCombineUnitTest.java +++ b/rxjava/src/test/java/com/baeldung/rxjava/combine/ObservableCombineUnitTest.java @@ -1,73 +1,65 @@ package com.baeldung.rxjava.combine; -import static org.assertj.core.api.Assertions.assertThat; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.TimeUnit; - import org.junit.Test; - import rx.Observable; import rx.observers.TestSubscriber; +import java.util.concurrent.TimeUnit; + +import static java.util.Arrays.asList; + public class ObservableCombineUnitTest { @Test public void givenTwoObservables_whenMerged_shouldEmitCombinedResults() { TestSubscriber testSubscriber = new TestSubscriber<>(); - //@formatter:off Observable.merge( - Observable.from(new String[] {"Hello", "World"}), - Observable.from(new String[]{ "I love", "RxJava"}) + Observable.from(asList("Hello", "World")), + Observable.from(asList("I love", "RxJava")) ).subscribe(testSubscriber); - //@formatter:on testSubscriber.assertValues("Hello", "World", "I love", "RxJava"); } @Test public void givenTwoObservables_whenZipped_thenReturnCombinedResults() { - List zippedStrings = new ArrayList<>(); - - //@formatter:off - Observable.zip( - Observable.from(new String[] { "Simple", "Moderate", "Complex" }), - Observable.from(new String[] { "Solutions", "Success", "Heirarchy"}), - (str1, str2) -> str1 + " " + str2).subscribe(zippedStrings::add); - //formatter:on - - assertThat(zippedStrings).isNotEmpty(); - assertThat(zippedStrings.size()).isEqualTo(3); - assertThat(zippedStrings).contains("Simple Solutions", "Moderate Success", "Complex Heirarchy"); - } - - @Test - public void givenMutipleObservablesOneThrows_whenMerged_thenCombineBeforePropagatingError() { TestSubscriber testSubscriber = new TestSubscriber<>(); - + + Observable.zip( + Observable.from(asList("Simple", "Moderate", "Complex")), + Observable.from(asList("Solutions", "Success", "Hierarchy")), + (str1, str2) -> String.format("%s %s", str1, str2)) + .subscribe(testSubscriber); + + testSubscriber.assertValues("Simple Solutions", "Moderate Success", "Complex Hierarchy"); + } + + @Test + public void givenMutipleObservablesOneThrows_whenMerged_thenCombineBeforePropagatingError() { + TestSubscriber testSubscriber = new TestSubscriber<>(); + Observable.mergeDelayError( - Observable.from(new String[] { "hello", "world" }), + Observable.from(asList("hello", "world")), Observable.error(new RuntimeException("Some exception")), - Observable.from(new String[] { "rxjava" }) + Observable.from(asList("rxjava")) ).subscribe(testSubscriber); testSubscriber.assertValues("hello", "world", "rxjava"); - testSubscriber.assertError(RuntimeException.class);; + testSubscriber.assertError(RuntimeException.class); } - + @Test public void givenAStream_whenZippedWithInterval_shouldDelayStreamEmmission() { TestSubscriber testSubscriber = new TestSubscriber<>(); - + Observable data = Observable.just("one", "two", "three", "four", "five"); Observable interval = Observable.interval(1L, TimeUnit.SECONDS); - + Observable .zip(data, interval, (strData, tick) -> String.format("[%d]=%s", tick, strData)) .toBlocking().subscribe(testSubscriber); - + testSubscriber.assertCompleted(); testSubscriber.assertValueCount(5); testSubscriber.assertValues("[0]=one", "[1]=two", "[2]=three", "[3]=four", "[4]=five");