@Override public Flowable<Integer> apply(Maybe<Integer> v) throws Exception { return v.toFlowable(); } })
@Override public Flowable<Integer> apply(Maybe<Integer> v) { return v.toFlowable(); } })
@Override public Publisher<Object> apply(Maybe<Object> m) throws Exception { return m.toFlowable(); } });
@Override public Flowable<Object> apply(Flowable<Object> f) throws Exception { return f.lastElement().toFlowable(); } });
@Override public Publisher<Object> apply(Flowable<Object> f) throws Exception { return f.elementAt(0).toFlowable(); } });
@Override public Object apply(Flowable<Integer> f) throws Exception { return f.elementAt(0).toFlowable(); } }, false, null, 1);
@Override public Object apply(Flowable<Integer> f) throws Exception { return f.reduce(sum).toFlowable(); } }, false, 1, 1, 1);
@Override public Publisher<Integer> createPublisher(final long elements) { return Flowable.range(1, 10).firstElement().toFlowable() ; }
@Override public Publisher<Integer> createPublisher(final long elements) { return Flowable.range(1, 1000).reduce(new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer a, Integer b) throws Exception { return a + b; } }).toFlowable() ; }
@Test public void testFirstWithPredicateOfNoneMatchingThePredicateFlowable() { Flowable<Integer> flowable = Flowable.just(1, 3, 5, 7, 9, 7, 5, 3, 1); flowable.filter(IS_EVEN).firstElement().toFlowable().subscribe(w); verify(w, never()).onNext(anyInt()); verify(w).onComplete(); verify(w, never()).onError(any(Throwable.class)); }
@Test public void testSingleWithEmptyFlowable() { Flowable<Integer> flowable = Flowable.<Integer> empty().singleElement().toFlowable(); Subscriber<Integer> subscriber = TestHelper.mockSubscriber(); flowable.subscribe(subscriber); InOrder inOrder = inOrder(subscriber); inOrder.verify(subscriber).onComplete(); inOrder.verify(subscriber, never()).onError(any(Throwable.class)); inOrder.verifyNoMoreInteractions(); }
@Test public void testFirstFlowable() { Flowable<Integer> flowable = Flowable.just(1, 2, 3).firstElement().toFlowable(); Subscriber<Integer> subscriber = TestHelper.mockSubscriber(); flowable.subscribe(subscriber); InOrder inOrder = inOrder(subscriber); inOrder.verify(subscriber, times(1)).onNext(1); inOrder.verify(subscriber, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
@Test public void testFirstWithOneElementFlowable() { Flowable<Integer> flowable = Flowable.just(1).firstElement().toFlowable(); Subscriber<Integer> subscriber = TestHelper.mockSubscriber(); flowable.subscribe(subscriber); InOrder inOrder = inOrder(subscriber); inOrder.verify(subscriber, times(1)).onNext(1); inOrder.verify(subscriber, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
@Test public void testSingleWithTooManyElementsFlowable() { Flowable<Integer> flowable = Flowable.just(1, 2).singleElement().toFlowable(); Subscriber<Integer> subscriber = TestHelper.mockSubscriber(); flowable.subscribe(subscriber); InOrder inOrder = inOrder(subscriber); inOrder.verify(subscriber, times(1)).onError( isA(IllegalArgumentException.class)); inOrder.verifyNoMoreInteractions(); }
@Test public void source() { Maybe<Integer> m = Maybe.just(1); assertSame(m, (((HasUpstreamMaybeSource<?>)m.toFlowable()).source())); }
@Test(expected = NullPointerException.class) public void reduceFunctionReturnsNull() { Flowable.just(1, 1).reduce(new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer a, Integer b) { return null; } }).toFlowable().blockingSubscribe(); }
@Test public void reduceIntsFlowable() { Flowable<Integer> f = Flowable.just(1, 2, 3); int value = f.reduce(new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer t1, Integer t2) { return t1 + t2; } }).toFlowable().blockingSingle(); assertEquals(6, value); }
@Test public void reduceInts() { Flowable<Integer> f = Flowable.just(1, 2, 3); int value = f.reduce(new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer t1, Integer t2) { return t1 + t2; } }).toFlowable().blockingSingle(); assertEquals(6, value); }
@Test public void dispose() { TestHelper.checkDisposed(PublishProcessor.create().elementAt(0).toFlowable()); TestHelper.checkDisposed(PublishProcessor.create().elementAt(0, 1).toFlowable()); TestHelper.checkDisposed(PublishProcessor.create().elementAt(0)); TestHelper.checkDisposed(PublishProcessor.create().elementAt(0, 1)); }
@Test public void dispose() { TestHelper.checkDisposed(Flowable.never().lastElement().toFlowable()); TestHelper.checkDisposed(Flowable.never().lastElement()); TestHelper.checkDisposed(Flowable.just(1).lastOrError().toFlowable()); TestHelper.checkDisposed(Flowable.just(1).lastOrError()); TestHelper.checkDisposed(Flowable.just(1).last(2).toFlowable()); TestHelper.checkDisposed(Flowable.just(1).last(2)); }