isObservable<T> method
Matcher
isObservable<T>(})
Creates a matcher for an observable.
Implementation
Matcher isObservable<T>(
String marbles, {
Map<String, T> values = const {},
Object error = 'Error',
}) {
if (this != defaultScheduler || _subscription.isDisposed) {
throw StateError('Called outside of the scope of this scheduler.');
}
final expected = TestEventSequence.fromString(
marbles,
values: values,
error: error,
);
return isA<Observable<T>>().having(
(observable) {
final start = now;
final events = <TestEvent<T>>[];
final subscription = observable
.materialize()
.map(
(event) => WrappedEvent(
now.difference(start).inMilliseconds ~/
stepDuration.inMilliseconds,
event,
),
)
.subscribe(Observer.next(events.add));
while (hasPending && !subscription.isDisposed) {
advance();
}
return TestEventSequence<T>(events, values: values);
},
'events',
expected,
);
}