@Override protected void subscribeActual(Subscriber<? super Integer> subscriber) { subscriber.onSubscribe(new BooleanSubscription()); subscriber.onNext(1); subscriber.onNext(2); subscriber.onComplete(); subscriber.onNext(3); subscriber.onError(new TestException()); subscriber.onComplete(); } }
@Override public void subscribe(Subscriber<? super Movie> subscriber) { subscriber.onNext(horrorMovie1); subscriber.onNext(movie); // o.onNext(new Media()); // correctly doesn't compile subscriber.onComplete(); } });
@Override public void run() { onNextBeingSent.countDown(); try { subscriber.onNext("hello"); // I can't use a countDownLatch to prove we are actually sending 'onNext' // since it will block if synchronized and I'll deadlock subscriber.onComplete(); } catch (Exception e) { subscriber.onError(e); } }
@Override public void subscribe(Subscriber<? super Integer> t1) { t1.onSubscribe(new BooleanSubscription()); try { t1.onNext(0); } catch (Throwable swallow) { } t1.onNext(1); t1.onComplete(); } });
@Override protected void subscribeActual(Subscriber<? super Integer> s) { s.onSubscribe(new BooleanSubscription()); s.onNext(1); s.onNext(2); s.onNext(3); s.onError(new TestException()); } }
@Override protected void subscribeActual(Subscriber<? super Integer> s) { s.onSubscribe(new BooleanSubscription()); for (int i = 0; i < 10; i++) { s.onNext(i); } } }
@Override public void subscribe(Subscriber<? super String> s) { s.onSubscribe(new BooleanSubscription()); subsCount.incrementAndGet(); s.onError(new RuntimeException("failed")); } };
@Override protected void subscribeActual(Subscriber<? super Integer> subscriber) { subscriber.onSubscribe(new BooleanSubscription()); subscriber.onComplete(); subscriber.onError(new TestException()); subscriber.onComplete(); } }
@Override protected void subscribeActual(Subscriber<? super Integer> subscriber) { subscriber.onSubscribe(new BooleanSubscription()); ts.cancel(); subscriber.onComplete(); } }
@Test public void testFirstWithEmptyFlowable() { Flowable<Integer> flowable = Flowable.<Integer> empty().firstElement().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(); }
@Override public void run() { try { Thread.sleep(100); } catch (InterruptedException e) { subscriber.onError(e); } subscriber.onNext("hello"); subscriber.onComplete(); }
@Override public void subscribe(Subscriber<? super String> s) { s.onSubscribe(new BooleanSubscription()); s.onNext("hello"); s.onComplete(); s.onComplete(); }
@Override protected void subscribeActual(Subscriber<? super Integer> s) { s.onSubscribe(new BooleanSubscription()); s.onNext(1); s.onNext(2); s.onNext(3); s.onError(new TestException()); } }
@Override protected void subscribeActual(Subscriber<? super Object> s) { s.onSubscribe(new BooleanSubscription()); for (int i = 0; i < 10; i++) { s.onNext(i); } } }, 8)
@Override protected void subscribeActual(Subscriber<? super Integer> s) { s.onSubscribe(new BooleanSubscription()); s.onError(new TestException()); s.onError(new TestException()); } }
@Override protected void subscribeActual(Subscriber<? super Integer> subscriber) { subscriber.onSubscribe(new BooleanSubscription()); subscriber.onError(new TestException()); subscriber.onComplete(); subscriber.onError(new TestException()); subscriber.onComplete(); } }))
@Test public void testWrappingMockWhenUnsubscribeInvolved() { Flowable<Integer> oi = Flowable.fromIterable(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9)).take(2); Subscriber<Integer> mockSubscriber = TestHelper.mockSubscriber(); oi.subscribe(new TestSubscriber<Integer>(mockSubscriber)); InOrder inOrder = inOrder(mockSubscriber); inOrder.verify(mockSubscriber, times(1)).onNext(1); inOrder.verify(mockSubscriber, times(1)).onNext(2); inOrder.verify(mockSubscriber, times(1)).onComplete(); inOrder.verifyNoMoreInteractions(); }
@Override protected void subscribeActual(Subscriber<? super Integer> subscriber) { subscriber.onSubscribe(new BooleanSubscription()); subscriber.onNext(1); subscriber.onComplete(); subscriber.onNext(2); subscriber.onError(new TestException()); subscriber.onComplete(); } }