package br.ufs.github.rxassertions;
import org.assertj.core.api.Condition;
import rx.observables.BlockingObservable;
import java.util.Collection;
/**
* Created by ubiratansoares on 5/11/16.
*/
public class BlockingObservableAssert<T> {
private TestSubscriberAssertionsWrapper<T> wrapper;
public BlockingObservableAssert(BlockingObservable<T> actual) {
wrapper = new TestSubscriberAssertionsWrapper<>(actual);
}
public BlockingObservableAssert<T> completes() {
wrapper.completes();
return this;
}
public BlockingObservableAssert<T> notCompletes() {
wrapper.notCompletes();
return this;
}
public BlockingObservableAssert<T> emissionsCount(int count) {
wrapper.emissionsCount(count);
return this;
}
public BlockingObservableAssert<T> fails() {
wrapper.fails();
return this;
}
public BlockingObservableAssert<T> failsWithThrowable(Class thowableClazz) {
wrapper.failsWithThrowable(thowableClazz);
return this;
}
public BlockingObservableAssert<T> emitsNothing() {
wrapper.emitsNothing();
return this;
}
public BlockingObservableAssert<T> receivedTerminalEvent() {
wrapper.receivedTerminalEvent();
return this;
}
public BlockingObservableAssert<T> withoutErrors() {
wrapper.withoutErrors();
return this;
}
public BlockingObservableAssert<T> expectedSingleValue(T expected) {
wrapper.expectedSingleValue(expected);
return this;
}
public BlockingObservableAssert<T> expectedValues(Collection<T> ordered) {
wrapper.expectedValues(ordered);
return this;
}
public BlockingObservableAssert<T> eachItemMatches(Condition<? super T> condition) {
wrapper.eachItemMatches(condition);
return this;
}
public BlockingObservableAssert<T> oneEmissionMatches(Condition<? super T> condition) {
wrapper.oneEmissionMatches(condition);
return this;
}
public BlockingObservableAssert<T> allItemsNotMaching(Condition<? super T> condition) {
wrapper.allItemsNotMaching(condition);
return this;
}
public BlockingObservableAssert<T> emits(T... values) {
wrapper.emits(values);
return this;
}
public BlockingObservableAssert<T> failsOnCondition(Condition<? super Throwable> condition) {
wrapper.failsOnCondition(condition);
return this;
}
}