public class TestSubscriber<T> extends Subscriber<T>
TestSubscriber is a variety of Subscriber that you can use for unit testing, to perform
assertions, inspect received events, or wrap a mocked Subscriber.| Constructor and Description |
|---|
TestSubscriber() |
TestSubscriber(long initialRequest)
Constructs a TestSubscriber with the initial request to be requested from upstream.
|
TestSubscriber(Observer<T> delegate) |
TestSubscriber(Observer<T> delegate,
long initialRequest)
Constructs a TestSubscriber with the initial request to be requested from upstream
and a delegate Observer to wrap.
|
TestSubscriber(Subscriber<T> delegate) |
| Modifier and Type | Method and Description |
|---|---|
void |
assertCompleted()
Assert if there is exactly a single completion event.
|
void |
assertError(Class<? extends Throwable> clazz)
Assert if there is exactly one error event which is a subclass of the given class.
|
void |
assertError(Throwable throwable)
Assert there is a single onError event with the exact exception.
|
void |
assertNoErrors()
Assert that this
Subscriber has received no onError notifications. |
void |
assertNotCompleted()
Assert if there is no completion event.
|
void |
assertNoTerminalEvent()
Assert for no onError and onCompleted events.
|
void |
assertNoValues()
Assert if there are no onNext events received.
|
void |
assertReceivedOnNext(List<T> items)
Assert that a particular sequence of items was received by this
Subscriber in order. |
void |
assertTerminalEvent()
Assert that a single terminal event occurred, either
onCompleted() or onError(java.lang.Throwable). |
void |
assertUnsubscribed()
Assert that this
Subscriber is unsubscribed. |
void |
assertValue(T value)
Assert if there is only a single received onNext event.
|
void |
assertValueCount(int count)
Assert if the given number of onNext events are received.
|
void |
assertValues(T... values)
Assert if the received onNext events, in order, are the specified values.
|
void |
awaitTerminalEvent()
Blocks until this
Subscriber receives a notification that the Observable is complete
(either an onCompleted or onError notification). |
void |
awaitTerminalEvent(long timeout,
TimeUnit unit)
Blocks until this
Subscriber receives a notification that the Observable is complete
(either an onCompleted or onError notification), or until a timeout expires. |
void |
awaitTerminalEventAndUnsubscribeOnTimeout(long timeout,
TimeUnit unit)
Blocks until this
Subscriber receives a notification that the Observable is complete
(either an onCompleted or onError notification), or until a timeout expires; if the
Subscriber is interrupted before either of these events take place, this method unsubscribes the
Subscriber from the Observable). |
Thread |
getLastSeenThread()
Returns the last thread that was in use when an item or notification was received by this
Subscriber. |
List<Notification<T>> |
getOnCompletedEvents()
Get the
Notifications representing each time this Subscriber was notified of sequence
completion via onCompleted(), as a List. |
List<Throwable> |
getOnErrorEvents()
|
List<T> |
getOnNextEvents()
Get the sequence of items observed by this
Subscriber, as an ordered List. |
void |
onCompleted()
Notifies the Subscriber that the
Observable has finished sending push-based notifications. |
void |
onError(Throwable e)
Notifies the Subscriber that the
Observable has experienced an error condition. |
void |
onNext(T t)
Provides the Subscriber with a new item to observe.
|
void |
onStart()
This method is invoked when the Subscriber and Observable have been connected but the Observable has
not yet begun to emit items or send notifications to the Subscriber.
|
void |
requestMore(long n)
Allow calling the protected
Subscriber.request(long) from unit tests. |
add, isUnsubscribed, request, setProducer, unsubscribe@Experimental public TestSubscriber(long initialRequest)
initialRequest - the initial request value, negative value will revert to the default unbounded behavior@Experimental public TestSubscriber(Observer<T> delegate, long initialRequest)
initialRequest - the initial request value, negative value will revert to the default unbounded behaviordelegate - the Observer instance to wrappublic TestSubscriber(Subscriber<T> delegate)
public TestSubscriber()
public void onStart()
SubscriberonStart in class Subscriber<T>public void onCompleted()
Observable has finished sending push-based notifications.
The Observable will not call this method if it calls onError(java.lang.Throwable).
public List<Notification<T>> getOnCompletedEvents()
Notifications representing each time this Subscriber was notified of sequence
completion via onCompleted(), as a List.onCompleted() methodpublic void onError(Throwable e)
Observable has experienced an error condition.
If the Observable calls this method, it will not thereafter call onNext(T) or
onCompleted().
e - the exception encountered by the Observablepublic List<Throwable> getOnErrorEvents()
onError(java.lang.Throwable) methodpublic void onNext(T t)
The Observable may call this method 0 or more times.
The Observable will not call this method again after it calls either onCompleted() or
onError(java.lang.Throwable).
t - the item emitted by the Observablepublic void requestMore(long n)
Subscriber.request(long) from unit tests.n - the maximum number of items you want the Observable to emit to the Subscriber at this time, or
Long.MAX_VALUE if you want the Observable to emit items at its own pacepublic List<T> getOnNextEvents()
Subscriber, as an ordered List.public void assertReceivedOnNext(List<T> items)
Subscriber in order.items - the sequence of items expected to have been observedAssertionError - if the sequence of items observed does not exactly match itemspublic void assertTerminalEvent()
onCompleted() or onError(java.lang.Throwable).AssertionError - if not exactly one terminal event notification was receivedpublic void assertUnsubscribed()
Subscriber is unsubscribed.AssertionError - if this Subscriber is not unsubscribedpublic void assertNoErrors()
Subscriber has received no onError notifications.AssertionError - if this Subscriber has received one or more onError notificationspublic void awaitTerminalEvent()
Subscriber receives a notification that the Observable is complete
(either an onCompleted or onError notification).RuntimeException - if the Subscriber is interrupted before the Observable is able to completepublic void awaitTerminalEvent(long timeout,
TimeUnit unit)
Subscriber receives a notification that the Observable is complete
(either an onCompleted or onError notification), or until a timeout expires.timeout - the duration of the timeoutunit - the units in which timeout is expressedRuntimeException - if the Subscriber is interrupted before the Observable is able to completepublic void awaitTerminalEventAndUnsubscribeOnTimeout(long timeout,
TimeUnit unit)
Subscriber receives a notification that the Observable is complete
(either an onCompleted or onError notification), or until a timeout expires; if the
Subscriber is interrupted before either of these events take place, this method unsubscribes the
Subscriber from the Observable).timeout - the duration of the timeoutunit - the units in which timeout is expressedpublic Thread getLastSeenThread()
Subscriber.Thread on which this Subscriber last received an item or notification from the
Observable it is subscribed to@Experimental public void assertCompleted()
@Experimental public void assertNotCompleted()
@Experimental public void assertError(Class<? extends Throwable> clazz)
clazz - the class to check the error against.@Experimental public void assertError(Throwable throwable)
throwable - the throwable to check@Experimental public void assertNoTerminalEvent()
@Experimental public void assertNoValues()
@Experimental public void assertValueCount(int count)
count - the expected number of onNext events@Experimental public void assertValues(T... values)
values - the values to check@Experimental public void assertValue(T value)
values - the values to checkCopyright © 2015. All rights reserved.