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 aTestSchedulerand 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.WorkerinnerSchedulerprivate SubjectSubscriptionManager<T>state
-
Constructor Summary
Constructors Modifier Constructor Description protectedTestSubject(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.booleanhasObservers()(package private) voidinternalOnCompleted()(package private) voidinternalOnError(java.lang.Throwable e)(package private) voidinternalOnNext(T v)voidonCompleted()Schedule a call toonCompletedon TestScheduler.voidonCompleted(long delayTime)Schedule a call toonCompletedrelative to "now()" +n milliseconds in the future.voidonError(java.lang.Throwable e)Schedule a call toonErroron TestScheduler.voidonError(java.lang.Throwable e, long delayTime)Schedule a call toonErrorrelative to "now()" +n milliseconds in the future.voidonNext(T v)Schedule a call toonNexton TestScheduler.voidonNext(T v, long delayTime)Schedule a call toonNextrelative 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- aTestScheduleron which to operate this Subject- Returns:
- the new
TestSubject
-
onCompleted
public void onCompleted()
Schedule a call toonCompletedon TestScheduler.
-
internalOnCompleted
void internalOnCompleted()
-
onCompleted
public void onCompleted(long delayTime)
Schedule a call toonCompletedrelative 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 toonErroron 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 toonErrorrelative to "now()" +n milliseconds in the future.- Parameters:
e- theThrowableto pass to theonErrormethoddelayTime- the number of milliseconds in the future relative to "now()" at which to callonError
-
onNext
public void onNext(T v)
Schedule a call toonNexton 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 toonNextrelative 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:
hasObserversin classSubject<T,T>- Returns:
- true if there is at least one Observer subscribed to this Subject, false otherwise
-
-