@Test(timeout = 5000) public void concatIterableEmpty() { Completable c = Completable.concat(Collections.<Completable>emptyList()); c.blockingAwait(); }
@Test(timeout = 5000, expected = TestException.class) public void concatIterableManyOneThrows() { Completable c = Completable.concat(Arrays.asList(normal.completable, error.completable)); c.blockingAwait(); }
@Test(timeout = 5000, expected = TestException.class) public void concatIterableOneThrows() { Completable c = Completable.concat(Collections.singleton(error.completable)); c.blockingAwait(); }
@Test(timeout = 5000, expected = NullPointerException.class) public void concatIterableWithNull() { Completable c = Completable.concat(Arrays.asList(normal.completable, (Completable)null)); c.blockingAwait(); }
@Test(timeout = 5000, expected = NullPointerException.class) public void concatIterableIteratorNull() { Completable c = Completable.concat(new Iterable<Completable>() { @Override public Iterator<Completable> iterator() { return null; } }); c.blockingAwait(); }
@Test(expected = TestException.class) public void concatIterableIterableThrows() { Completable c = Completable.concat(new Iterable<Completable>() { @Override public Iterator<Completable> iterator() { throw new TestException(); } }); c.blockingAwait(); }
@Test(timeout = 5000) public void concatIterableSingle() { Completable c = Completable.concat(Collections.singleton(normal.completable)); c.blockingAwait(); normal.assertSubscriptions(1); }
@Test(expected = TestException.class) public void concatIterableIteratorNextThrows() { Completable c = Completable.concat(new IterableIteratorNextThrows()); c.blockingAwait(); }
@Test(timeout = 5000, expected = TestException.class) public void concatObservableError() { Completable c = Completable.concat(Flowable.<Completable>error(new Callable<Throwable>() { @Override public Throwable call() { return new TestException(); } })); c.blockingAwait(); }
@Test(expected = TestException.class) public void concatIterableIteratorHasNextThrows() { Completable c = Completable.concat(new IterableIteratorHasNextThrows()); c.blockingAwait(); }
@Test(timeout = 5000, expected = TestException.class) public void concatObservableSingleThrows() { Completable c = Completable.concat(Flowable.just(error.completable)); c.blockingAwait(); }
@Test(timeout = 5000, expected = TestException.class) public void concatObservableManyOneThrows() { Completable c = Completable.concat(Flowable.just(normal.completable, error.completable)); c.blockingAwait(); }
@Test(timeout = 5000) public void concatObservableEmpty() { Completable c = Completable.concat(Flowable.<Completable>empty()); c.blockingAwait(); }
@Test public void invalidPrefetch() { try { Completable.concat(Flowable.just(Completable.complete()), -99); fail("Should have thrown IllegalArgumentExceptio"); } catch (IllegalArgumentException ex) { assertEquals("prefetch > 0 required but it was -99", ex.getMessage()); } }
@Test(timeout = 5000) public void concatObservableSingle() { Completable c = Completable.concat(Flowable.just(normal.completable)); c.blockingAwait(); normal.assertSubscriptions(1); }
@Test(timeout = 5000) public void concatObservableMany() { Completable c = Completable.concat(Flowable.just(normal.completable).repeat(3)); c.blockingAwait(); normal.assertSubscriptions(3); }
@Test public void syncFusedUnboundedIn() { Completable.concat(Flowable.just(Completable.complete()), Integer.MAX_VALUE) .test() .assertResult(); }
@Test public void synchronousFusedCrash() { Completable.concat(Flowable.range(1, 2).map(new Function<Integer, Completable>() { @Override public Completable apply(Integer v) throws Exception { throw new TestException(); } })) .test() .assertFailure(TestException.class); }
@Test public void unboundedIn() { Completable.concat(Flowable.just(Completable.complete()).hide(), Integer.MAX_VALUE) .test() .assertResult(); }
@Test public void asyncFusedUnboundedIn() { UnicastProcessor<Completable> up = UnicastProcessor.create(); up.onNext(Completable.complete()); up.onComplete(); Completable.concat(up, Integer.MAX_VALUE) .test() .assertResult(); }