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(Observer
|
TestSubscriber(Subscriber
|
| Modifier and Type | Method and Description |
|---|---|
void |
assertNoErrors()
Assert that this
Subscriber has received no
onError notifications.
|
void |
assertReceivedOnNext(List
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 |
awaitTerminalEvent()
Blocks until this
Subscriber receives a notification that the
Observable is complete (either an
onCompleted or
onError notification).
|
void |
awaitTerminalEvent(long timeout, TimeUnit
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
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 |
getOnCompletedEvents()
Get the
Notifications representing each time this
Subscriber was notified of sequence completion via
onCompleted(), as a
List.
|
List |
getOnErrorEvents()
|
List |
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
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 |
requestMore(long n)
Allow calling the protected
Subscriber from unit tests.
|
add, isUnsubscribed, onStart, request, setProducer, unsubscribepublic TestSubscriber(Subscriber<T> delegate)
public TestSubscriber()
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() method
public void onError(Throwablee)
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 Observable
public List<Throwable > getOnErrorEvents()
onError(java.lang.Throwable) method
public 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 Observable
public 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 pace
public 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 observed
AssertionError - if the sequence of items observed does not exactly match
items
public void assertTerminalEvent()
onCompleted() or
onError(java.lang.Throwable).
AssertionError - if not exactly one terminal event notification was received
public void assertUnsubscribed()
Subscriber is unsubscribed.
AssertionError - if this
Subscriber is not unsubscribed
public void assertNoErrors()
Subscriber has received no
onError notifications.
AssertionError - if this
Subscriber has received one or more
onError notifications
public 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 complete
public 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 timeout
unit - the units in which
timeout is expressed
RuntimeException - if the Subscriber is interrupted before the Observable is able to complete
public 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 timeout
unit - the units in which
timeout is expressed
public ThreadgetLastSeenThread()
Subscriber.
Thread on which this Subscriber last received an item or notification from the Observable it is subscribed to