Package rx.subjects
Class TestSubject<T>
- java.lang.Object
-
- rx.Observable<R>
-
- rx.subjects.Subject<T,T>
-
- rx.subjects.TestSubject<T>
-
- Type Parameters:
T
- the type of item observed by and emitted by the subject
- All Implemented Interfaces:
Observer<T>
public final class TestSubject<T> extends Subject<T,T>
A variety of Subject that is useful for testing purposes. It operates on aTestScheduler
and allows you to precisely time emissions and notifications to the Subject's subscribers using relative virtual time controlled by theTestScheduler
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class rx.Observable
Observable.OnSubscribe<T>, Observable.Operator<R,T>, Observable.Transformer<T,R>
-
-
Field Summary
Fields Modifier and Type Field Description private Scheduler.Worker
innerScheduler
private SubjectSubscriptionManager<T>
state
-
Constructor Summary
Constructors Modifier Constructor Description protected
TestSubject(Observable.OnSubscribe<T> onSubscribe, SubjectSubscriptionManager<T> state, TestScheduler scheduler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> TestSubject<T>
create(TestScheduler scheduler)
Creates and returns a newTestSubject
.boolean
hasObservers()
(package private) void
internalOnCompleted()
(package private) void
internalOnError(java.lang.Throwable e)
(package private) void
internalOnNext(T v)
void
onCompleted()
Schedule a call toonCompleted
on TestScheduler.void
onCompleted(long delayTime)
Schedule a call toonCompleted
relative to "now()" +n milliseconds in the future.void
onError(java.lang.Throwable e)
Schedule a call toonError
on TestScheduler.void
onError(java.lang.Throwable e, long delayTime)
Schedule a call toonError
relative to "now()" +n milliseconds in the future.void
onNext(T v)
Schedule a call toonNext
on TestScheduler.void
onNext(T v, long delayTime)
Schedule a call toonNext
relative to "now()" +n milliseconds in the future.-
Methods inherited from class rx.subjects.Subject
toSerialized
-
Methods inherited from class rx.Observable
all, amb, amb, amb, amb, amb, amb, amb, amb, amb, ambWith, asObservable, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, cache, cache, cacheWithInitialCapacity, cast, collect, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatestDelayError, compose, concat, concat, concat, concat, concat, concat, concat, concat, concat, concatDelayError, concatDelayError, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatEager, concatMap, concatMapDelayError, concatMapEager, concatMapEager, concatMapEager, concatMapIterable, concatWith, contains, count, countLong, create, create, create, debounce, debounce, debounce, defaultIfEmpty, defer, delay, delay, delay, delay, delaySubscription, delaySubscription, delaySubscription, delaySubscription, dematerialize, distinct, distinct, distinctUntilChanged, distinctUntilChanged, distinctUntilChanged, doAfterTerminate, doOnCompleted, doOnEach, doOnEach, doOnError, doOnNext, doOnRequest, doOnSubscribe, doOnTerminate, doOnUnsubscribe, elementAt, elementAtOrDefault, empty, error, exists, extend, filter, finallyDo, first, first, firstOrDefault, firstOrDefault, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapIterable, flatMapIterable, flatMapIterable, flatMapIterable, forEach, forEach, forEach, from, from, from, from, from, fromAsync, fromCallable, groupBy, groupBy, groupBy, groupJoin, ignoreElements, interval, interval, interval, interval, isEmpty, join, just, just, just, just, just, just, just, just, just, just, last, last, lastOrDefault, lastOrDefault, lift, limit, map, materialize, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, merge, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, nest, never, observeOn, observeOn, observeOn, observeOn, ofType, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureDrop, onBackpressureDrop, onBackpressureLatest, onErrorResumeNext, onErrorResumeNext, onErrorReturn, onExceptionResumeNext, onTerminateDetach, publish, publish, range, range, rebatchRequests, reduce, reduce, repeat, repeat, repeat, repeat, repeatWhen, repeatWhen, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, retry, retry, retry, retryWhen, retryWhen, sample, sample, sample, scan, scan, sequenceEqual, sequenceEqual, serialize, share, single, single, singleOrDefault, singleOrDefault, skip, skip, skip, skipLast, skipLast, skipLast, skipUntil, skipWhile, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, startWith, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, switchIfEmpty, switchMap, switchMapDelayError, switchOnNext, switchOnNextDelayError, take, take, take, takeFirst, takeLast, takeLast, takeLast, takeLast, takeLast, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeLastBuffer, takeUntil, takeUntil, takeWhile, throttleFirst, throttleFirst, throttleLast, throttleLast, throttleWithTimeout, throttleWithTimeout, timeInterval, timeInterval, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timer, timer, timer, timer, timestamp, timestamp, toBlocking, toCompletable, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toSingle, toSortedList, toSortedList, toSortedList, toSortedList, unsafeSubscribe, unsubscribeOn, using, using, window, window, window, window, window, window, window, window, window, window, window, window, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipWith, zipWith
-
-
-
-
Field Detail
-
state
private final SubjectSubscriptionManager<T> state
-
innerScheduler
private final Scheduler.Worker innerScheduler
-
-
Constructor Detail
-
TestSubject
protected TestSubject(Observable.OnSubscribe<T> onSubscribe, SubjectSubscriptionManager<T> state, TestScheduler scheduler)
-
-
Method Detail
-
create
public static <T> TestSubject<T> create(TestScheduler scheduler)
Creates and returns a newTestSubject
.- Type Parameters:
T
- the value type- Parameters:
scheduler
- aTestScheduler
on which to operate this Subject- Returns:
- the new
TestSubject
-
onCompleted
public void onCompleted()
Schedule a call toonCompleted
on TestScheduler.
-
internalOnCompleted
void internalOnCompleted()
-
onCompleted
public void onCompleted(long delayTime)
Schedule a call toonCompleted
relative to "now()" +n milliseconds in the future.- Parameters:
delayTime
- the number of milliseconds in the future relative to "now()" at which to callonCompleted
-
onError
public void onError(java.lang.Throwable e)
Schedule a call toonError
on TestScheduler.- Parameters:
e
- the exception encountered by the Observable
-
internalOnError
void internalOnError(java.lang.Throwable e)
-
onError
public void onError(java.lang.Throwable e, long delayTime)
Schedule a call toonError
relative to "now()" +n milliseconds in the future.- Parameters:
e
- theThrowable
to pass to theonError
methoddelayTime
- the number of milliseconds in the future relative to "now()" at which to callonError
-
onNext
public void onNext(T v)
Schedule a call toonNext
on TestScheduler.- Parameters:
v
- the item emitted by the Observable
-
internalOnNext
void internalOnNext(T v)
-
onNext
public void onNext(T v, long delayTime)
Schedule a call toonNext
relative to "now()" +n milliseconds in the future.- Parameters:
v
- the item to emitdelayTime
- the number of milliseconds in the future relative to "now()" at which to callonNext
-
hasObservers
public boolean hasObservers()
Description copied from class:Subject
- Specified by:
hasObservers
in classSubject<T,T>
- Returns:
- true if there is at least one Observer subscribed to this Subject, false otherwise
-
-