/**
* Copyright (c) 2016-present, RxJava Contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See
* the License for the specific language governing permissions and limitations under the License.
*/
package io.reactivex.flowable;
import java.lang.reflect.*;
import java.util.*;
import java.util.concurrent.*;
import static org.junit.Assert.*;
import org.junit.*;
import org.reactivestreams.*;
import io.reactivex.*;
import io.reactivex.exceptions.*;
import io.reactivex.functions.*;
import io.reactivex.internal.functions.Functions;
import io.reactivex.processors.*;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subscribers.TestSubscriber;
/**
* Verifies the operators handle null values properly by emitting/throwing NullPointerExceptions.
*/
public class FlowableNullTests {
Flowable<Integer> just1 = Flowable.just(1);
//***********************************************************
// Static methods
//***********************************************************
@Test(expected = NullPointerException.class)
public void ambVarargsNull() {
Flowable.ambArray((Publisher<Object>[])null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void ambVarargsOneIsNull() {
Flowable.ambArray(Flowable.never(), null).blockingLast();
}
@Test(expected = NullPointerException.class)
public void ambIterableNull() {
Flowable.amb((Iterable<Publisher<Object>>)null);
}
@Test
public void ambIterableIteratorNull() {
Flowable.amb(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
}
}).test().assertError(NullPointerException.class);
}
@SuppressWarnings("unchecked")
@Test
public void ambIterableOneIsNull() {
Flowable.amb(Arrays.asList(Flowable.never(), null))
.test()
.assertError(NullPointerException.class);
}
@Test(expected = NullPointerException.class)
public void combineLatestVarargsNull() {
Flowable.combineLatestDelayError(new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}, (Publisher<Object>[])null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestVarargsOneIsNull() {
Flowable.combineLatestDelayError(new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}, Flowable.never(), null).blockingLast();
}
@Test(expected = NullPointerException.class)
public void combineLatestIterableNull() {
Flowable.combineLatestDelayError((Iterable<Publisher<Object>>)null, new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void combineLatestIterableIteratorNull() {
Flowable.combineLatestDelayError(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
}
}, new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestIterableOneIsNull() {
Flowable.combineLatestDelayError(Arrays.asList(Flowable.never(), null), new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestVarargsFunctionNull() {
Flowable.combineLatestDelayError(null, Flowable.never());
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestVarargsFunctionReturnsNull() {
Flowable.combineLatestDelayError(new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return null;
}
}, just1).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestIterableFunctionNull() {
Flowable.combineLatestDelayError(Arrays.asList(just1), null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestIterableFunctionReturnsNull() {
Flowable.combineLatestDelayError(Arrays.asList(just1), new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return null;
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void concatIterableNull() {
Flowable.concat((Iterable<Publisher<Object>>)null);
}
@Test(expected = NullPointerException.class)
public void concatIterableIteratorNull() {
Flowable.concat(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
}
}).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void concatIterableOneIsNull() {
Flowable.concat(Arrays.asList(just1, null)).blockingLast();
}
@Test(expected = NullPointerException.class)
public void concatPublisherNull() {
Flowable.concat((Publisher<Publisher<Object>>)null);
}
@Test(expected = NullPointerException.class)
public void concatArrayNull() {
Flowable.concatArray((Publisher<Object>[])null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void concatArrayOneIsNull() {
Flowable.concatArray(just1, null).blockingLast();
}
@Test(expected = NullPointerException.class)
public void createNull() {
Flowable.unsafeCreate(null);
}
@Test(expected = NullPointerException.class)
public void deferFunctionNull() {
Flowable.defer(null);
}
@Test(expected = NullPointerException.class)
public void deferFunctionReturnsNull() {
Flowable.defer(new Callable<Publisher<Object>>() {
@Override
public Publisher<Object> call() {
return null;
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void errorFunctionNull() {
Flowable.error((Callable<Throwable>)null);
}
@Test(expected = NullPointerException.class)
public void errorFunctionReturnsNull() {
Flowable.error(new Callable<Throwable>() {
@Override
public Throwable call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void errorThrowableNull() {
Flowable.error((Throwable)null);
}
@Test(expected = NullPointerException.class)
public void fromArrayNull() {
Flowable.fromArray((Object[])null);
}
@Test(expected = NullPointerException.class)
public void fromArrayOneIsNull() {
Flowable.fromArray(1, null).blockingLast();
}
@Test(expected = NullPointerException.class)
public void fromCallableNull() {
Flowable.fromCallable(null);
}
@Test(expected = NullPointerException.class)
public void fromCallableReturnsNull() {
Flowable.fromCallable(new Callable<Object>() {
@Override
public Object call() throws Exception {
return null;
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void fromFutureNull() {
Flowable.fromFuture(null);
}
@Test
public void fromFutureReturnsNull() {
FutureTask<Object> f = new FutureTask<Object>(Functions.EMPTY_RUNNABLE, null);
f.run();
TestSubscriber<Object> ts = new TestSubscriber<Object>();
Flowable.fromFuture(f).subscribe(ts);
ts.assertNoValues();
ts.assertNotComplete();
ts.assertError(NullPointerException.class);
}
@Test(expected = NullPointerException.class)
public void fromFutureTimedFutureNull() {
Flowable.fromFuture(null, 1, TimeUnit.SECONDS);
}
@Test(expected = NullPointerException.class)
public void fromFutureTimedUnitNull() {
Flowable.fromFuture(new FutureTask<Object>(Functions.EMPTY_RUNNABLE, null), 1, null);
}
@Test(expected = NullPointerException.class)
public void fromFutureTimedSchedulerNull() {
Flowable.fromFuture(new FutureTask<Object>(Functions.EMPTY_RUNNABLE, null), 1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void fromFutureTimedReturnsNull() {
FutureTask<Object> f = new FutureTask<Object>(Functions.EMPTY_RUNNABLE, null);
f.run();
Flowable.fromFuture(f, 1, TimeUnit.SECONDS).blockingLast();
}
@Test(expected = NullPointerException.class)
public void fromFutureSchedulerNull() {
Flowable.fromFuture(new FutureTask<Object>(Functions.EMPTY_RUNNABLE, null), null);
}
@Test(expected = NullPointerException.class)
public void fromIterableNull() {
Flowable.fromIterable(null);
}
@Test(expected = NullPointerException.class)
public void fromIterableIteratorNull() {
Flowable.fromIterable(new Iterable<Object>() {
@Override
public Iterator<Object> iterator() {
return null;
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void fromIterableValueNull() {
Flowable.fromIterable(Arrays.asList(1, null)).blockingLast();
}
@Test(expected = NullPointerException.class)
public void fromPublisherNull() {
Flowable.fromPublisher(null);
}
@Test(expected = NullPointerException.class)
public void generateConsumerNull() {
Flowable.generate(null);
}
@Test(expected = NullPointerException.class)
public void generateConsumerEmitsNull() {
Flowable.generate(new Consumer<Emitter<Object>>() {
@Override
public void accept(Emitter<Object> s) {
s.onNext(null);
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void generateStateConsumerInitialStateNull() {
BiConsumer<Integer, Emitter<Integer>> generator = new BiConsumer<Integer, Emitter<Integer>>() {
@Override
public void accept(Integer s, Emitter<Integer> o) {
o.onNext(1);
}
};
Flowable.generate(null, generator);
}
@Test(expected = NullPointerException.class)
public void generateStateFunctionInitialStateNull() {
Flowable.generate(null, new BiFunction<Object, Emitter<Object>, Object>() {
@Override
public Object apply(Object s, Emitter<Object> o) {
o.onNext(1); return s;
}
});
}
@Test(expected = NullPointerException.class)
public void generateStateConsumerNull() {
Flowable.generate(new Callable<Integer>() {
@Override
public Integer call() {
return 1;
}
}, (BiConsumer<Integer, Emitter<Object>>)null);
}
@Test
public void generateConsumerStateNullAllowed() {
BiConsumer<Integer, Emitter<Integer>> generator = new BiConsumer<Integer, Emitter<Integer>>() {
@Override
public void accept(Integer s, Emitter<Integer> o) {
o.onComplete();
}
};
Flowable.generate(new Callable<Integer>() {
@Override
public Integer call() {
return null;
}
}, generator).blockingSubscribe();
}
@Test
public void generateFunctionStateNullAllowed() {
Flowable.generate(new Callable<Object>() {
@Override
public Object call() {
return null;
}
}, new BiFunction<Object, Emitter<Object>, Object>() {
@Override
public Object apply(Object s, Emitter<Object> o) {
o.onComplete(); return s;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void generateConsumerDisposeNull() {
BiConsumer<Integer, Emitter<Integer>> generator = new BiConsumer<Integer, Emitter<Integer>>() {
@Override
public void accept(Integer s, Emitter<Integer> o) {
o.onNext(1);
}
};
Flowable.generate(new Callable<Integer>() {
@Override
public Integer call() {
return 1;
}
}, generator, null);
}
@Test(expected = NullPointerException.class)
public void generateFunctionDisposeNull() {
Flowable.generate(new Callable<Object>() {
@Override
public Object call() {
return 1;
}
}, new BiFunction<Object, Emitter<Object>, Object>() {
@Override
public Object apply(Object s, Emitter<Object> o) {
o.onNext(1); return s;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void intervalUnitNull() {
Flowable.interval(1, null);
}
public void intervalSchedulerNull() {
Flowable.interval(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void intervalPeriodUnitNull() {
Flowable.interval(1, 1, null);
}
@Test(expected = NullPointerException.class)
public void intervalPeriodSchedulerNull() {
Flowable.interval(1, 1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void intervalRangeUnitNull() {
Flowable.intervalRange(1,1, 1, 1, null);
}
@Test(expected = NullPointerException.class)
public void intervalRangeSchedulerNull() {
Flowable.intervalRange(1, 1, 1, 1, TimeUnit.SECONDS, null);
}
@Test
public void justNull() throws Exception {
@SuppressWarnings("rawtypes")
Class<Flowable> clazz = Flowable.class;
for (int argCount = 1; argCount < 10; argCount++) {
for (int argNull = 1; argNull <= argCount; argNull++) {
Class<?>[] params = new Class[argCount];
Arrays.fill(params, Object.class);
Object[] values = new Object[argCount];
Arrays.fill(values, 1);
values[argNull - 1] = null;
Method m = clazz.getMethod("just", params);
try {
m.invoke(null, values);
Assert.fail("No exception for argCount " + argCount + " / argNull " + argNull);
} catch (InvocationTargetException ex) {
if (!(ex.getCause() instanceof NullPointerException)) {
Assert.fail("Unexpected exception for argCount " + argCount + " / argNull " + argNull + ": " + ex);
}
}
}
}
}
@Test(expected = NullPointerException.class)
public void mergeIterableNull() {
Flowable.merge((Iterable<Publisher<Object>>)null, 128, 128);
}
@Test(expected = NullPointerException.class)
public void mergeIterableIteratorNull() {
Flowable.merge(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
}
}, 128, 128).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void mergeIterableOneIsNull() {
Flowable.merge(Arrays.asList(just1, null), 128, 128).blockingLast();
}
@Test(expected = NullPointerException.class)
public void mergeArrayNull() {
Flowable.mergeArray(128, 128, (Publisher<Object>[])null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void mergeArrayOneIsNull() {
Flowable.mergeArray(128, 128, just1, null).blockingLast();
}
@Test(expected = NullPointerException.class)
public void mergeDelayErrorIterableNull() {
Flowable.mergeDelayError((Iterable<Publisher<Object>>)null, 128, 128);
}
@Test(expected = NullPointerException.class)
public void mergeDelayErrorIterableIteratorNull() {
Flowable.mergeDelayError(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
}
}, 128, 128).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void mergeDelayErrorIterableOneIsNull() {
Flowable.mergeDelayError(Arrays.asList(just1, null), 128, 128).blockingLast();
}
@Test(expected = NullPointerException.class)
public void mergeDelayErrorArrayNull() {
Flowable.mergeArrayDelayError(128, 128, (Publisher<Object>[])null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void mergeDelayErrorArrayOneIsNull() {
Flowable.mergeArrayDelayError(128, 128, just1, null).blockingLast();
}
@Test(expected = NullPointerException.class)
public void sequenceEqualFirstNull() {
Flowable.sequenceEqual(null, just1);
}
@Test(expected = NullPointerException.class)
public void sequenceEqualSecondNull() {
Flowable.sequenceEqual(just1, null);
}
@Test(expected = NullPointerException.class)
public void sequenceEqualComparatorNull() {
Flowable.sequenceEqual(just1, just1, null);
}
@Test(expected = NullPointerException.class)
public void switchOnNextNull() {
Flowable.switchOnNext(null);
}
@Test(expected = NullPointerException.class)
public void timerUnitNull() {
Flowable.timer(1, null);
}
@Test(expected = NullPointerException.class)
public void timerSchedulerNull() {
Flowable.timer(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void usingResourceSupplierNull() {
Flowable.using(null, new Function<Object, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Object d) {
return just1;
}
}, Functions.emptyConsumer());
}
@Test(expected = NullPointerException.class)
public void usingFlowableSupplierNull() {
Flowable.using(new Callable<Object>() {
@Override
public Object call() {
return 1;
}
}, null, Functions.emptyConsumer());
}
@Test(expected = NullPointerException.class)
public void usingFlowableSupplierReturnsNull() {
Flowable.using(new Callable<Object>() {
@Override
public Object call() {
return 1;
}
}, new Function<Object, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Object d) {
return null;
}
}, Functions.emptyConsumer()).blockingLast();
}
@Test(expected = NullPointerException.class)
public void usingDisposeNull() {
Flowable.using(new Callable<Object>() {
@Override
public Object call() {
return 1;
}
}, new Function<Object, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Object d) {
return just1;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void zipIterableNull() {
Flowable.zip((Iterable<Publisher<Object>>)null, new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void zipIterableIteratorNull() {
Flowable.zip(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
}
}, new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void zipIterableFunctionNull() {
Flowable.zip(Arrays.asList(just1, just1), null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void zipIterableFunctionReturnsNull() {
Flowable.zip(Arrays.asList(just1, just1), new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return null;
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void zipPublisherNull() {
Flowable.zip((Publisher<Publisher<Object>>)null, new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void zipPublisherFunctionNull() {
Flowable.zip((Flowable.just(just1)), null);
}
@Test(expected = NullPointerException.class)
public void zipPublisherFunctionReturnsNull() {
Flowable.zip((Flowable.just(just1)), new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return null;
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void zipIterable2Null() {
Flowable.zipIterable((Iterable<Publisher<Object>>)null, new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return 1;
}
}, true, 128);
}
@Test(expected = NullPointerException.class)
public void zipIterable2IteratorNull() {
Flowable.zipIterable(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
}
}, new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return 1;
}
}, true, 128).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void zipIterable2FunctionNull() {
Flowable.zipIterable(Arrays.asList(just1, just1), null, true, 128);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void zipIterable2FunctionReturnsNull() {
Flowable.zipIterable(Arrays.asList(just1, just1), new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return null;
}
}, true, 128).blockingLast();
}
//*************************************************************
// Instance methods
//*************************************************************
@Test(expected = NullPointerException.class)
public void allPredicateNull() {
just1.all(null);
}
@Test(expected = NullPointerException.class)
public void ambWithNull() {
just1.ambWith(null);
}
@Test(expected = NullPointerException.class)
public void anyPredicateNull() {
just1.any(null);
}
@Test(expected = NullPointerException.class)
public void bufferSupplierNull() {
just1.buffer(1, 1, (Callable<List<Integer>>)null);
}
@Test(expected = NullPointerException.class)
public void bufferSupplierReturnsNull() {
just1.buffer(1, 1, new Callable<Collection<Integer>>() {
@Override
public Collection<Integer> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void bufferTimedUnitNull() {
just1.buffer(1L, 1L, null);
}
@Test(expected = NullPointerException.class)
public void bufferTimedSchedulerNull() {
just1.buffer(1L, 1L, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void bufferTimedSupplierNull() {
just1.buffer(1L, 1L, TimeUnit.SECONDS, Schedulers.single(), null);
}
@Test(expected = NullPointerException.class)
public void bufferTimedSupplierReturnsNull() {
just1.buffer(1L, 1L, TimeUnit.SECONDS, Schedulers.single(), new Callable<Collection<Integer>>() {
@Override
public Collection<Integer> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void bufferOpenCloseOpenNull() {
just1.buffer(null, new Function<Object, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Object o) {
return just1;
}
});
}
@Test(expected = NullPointerException.class)
public void bufferOpenCloseCloseNull() {
just1.buffer(just1, (Function<Integer, Publisher<Object>>)null);
}
@Test(expected = NullPointerException.class)
public void bufferOpenCloseCloseReturnsNull() {
just1.buffer(just1, new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void bufferBoundaryNull() {
just1.buffer((Publisher<Object>)null);
}
@Test(expected = NullPointerException.class)
public void bufferBoundarySupplierNull() {
just1.buffer(just1, (Callable<List<Integer>>)null);
}
@Test(expected = NullPointerException.class)
public void bufferBoundarySupplierReturnsNull() {
just1.buffer(just1, new Callable<Collection<Integer>>() {
@Override
public Collection<Integer> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void bufferBoundarySupplier2Null() {
just1.buffer((Callable<Publisher<Integer>>)null);
}
@Test(expected = NullPointerException.class)
public void bufferBoundarySupplier2ReturnsNull() {
just1.buffer(new Callable<Publisher<Object>>() {
@Override
public Publisher<Object> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void bufferBoundarySupplier2SupplierNull() {
just1.buffer(new Callable<Flowable<Integer>>() {
@Override
public Flowable<Integer> call() {
return just1;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void bufferBoundarySupplier2SupplierReturnsNull() {
just1.buffer(new Callable<Flowable<Integer>>() {
@Override
public Flowable<Integer> call() {
return just1;
}
}, new Callable<Collection<Integer>>() {
@Override
public Collection<Integer> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void castNull() {
just1.cast(null);
}
@Test(expected = NullPointerException.class)
public void collectInitialSupplierNull() {
just1.collect((Callable<Integer>)null, new BiConsumer<Integer, Integer>() {
@Override
public void accept(Integer a, Integer b) { }
});
}
@Test(expected = NullPointerException.class)
public void collectInitialSupplierReturnsNull() {
just1.collect(new Callable<Object>() {
@Override
public Object call() {
return null;
}
}, new BiConsumer<Object, Integer>() {
@Override
public void accept(Object a, Integer b) { }
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void collectInitialCollectorNull() {
just1.collect(new Callable<Object>() {
@Override
public Object call() {
return 1;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void collectIntoInitialNull() {
just1.collectInto(null, new BiConsumer<Object, Integer>() {
@Override
public void accept(Object a, Integer b) { }
});
}
@Test(expected = NullPointerException.class)
public void collectIntoCollectorNull() {
just1.collectInto(1, null);
}
@Test(expected = NullPointerException.class)
public void composeNull() {
just1.compose(null);
}
@Test(expected = NullPointerException.class)
public void concatMapNull() {
just1.concatMap(null);
}
@Test(expected = NullPointerException.class)
public void concatMapReturnsNull() {
just1.concatMap(new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void concatMapIterableNull() {
just1.concatMapIterable(null);
}
@Test(expected = NullPointerException.class)
public void concatMapIterableReturnNull() {
just1.concatMapIterable(new Function<Integer, Iterable<Object>>() {
@Override
public Iterable<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void concatMapIterableIteratorNull() {
just1.concatMapIterable(new Function<Integer, Iterable<Object>>() {
@Override
public Iterable<Object> apply(Integer v) {
return new Iterable<Object>() {
@Override
public Iterator<Object> iterator() {
return null;
}
};
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void concatWithNull() {
just1.concatWith(null);
}
@Test(expected = NullPointerException.class)
public void containsNull() {
just1.contains(null);
}
@Test(expected = NullPointerException.class)
public void debounceFunctionNull() {
just1.debounce(null);
}
@Test(expected = NullPointerException.class)
public void debounceFunctionReturnsNull() {
just1.debounce(new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void debounceTimedUnitNull() {
just1.debounce(1, null);
}
@Test(expected = NullPointerException.class)
public void debounceTimedSchedulerNull() {
just1.debounce(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void defaultIfEmptyNull() {
just1.defaultIfEmpty(null);
}
@Test(expected = NullPointerException.class)
public void delayWithFunctionNull() {
just1.delay(null);
}
@Test(expected = NullPointerException.class)
public void delayWithFunctionReturnsNull() {
just1.delay(new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void delayTimedUnitNull() {
just1.delay(1, null);
}
@Test(expected = NullPointerException.class)
public void delayTimedSchedulerNull() {
just1.delay(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void delaySubscriptionTimedUnitNull() {
just1.delaySubscription(1, null);
}
@Test(expected = NullPointerException.class)
public void delaySubscriptionTimedSchedulerNull() {
just1.delaySubscription(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void delaySubscriptionSupplierNull() {
just1.delaySubscription((Publisher<Object>)null);
}
@Test(expected = NullPointerException.class)
public void delaySubscriptionFunctionNull() {
just1.delaySubscription((Publisher<Object>)null);
}
@Test(expected = NullPointerException.class)
public void delayBothInitialSupplierNull() {
just1.delay(null, new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
});
}
@Test(expected = NullPointerException.class)
public void delayBothInitialSupplierReturnsNull() {
just1.delay(null, new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void delayBothItemSupplierNull() {
just1.delay(just1, null);
}
@Test(expected = NullPointerException.class)
public void delayBothItemSupplierReturnsNull() {
just1.delay(just1, new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void distinctFunctionNull() {
just1.distinct(null);
}
@Test(expected = NullPointerException.class)
public void distinctSupplierNull() {
just1.distinct(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void distinctSupplierReturnsNull() {
just1.distinct(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Callable<Collection<Object>>() {
@Override
public Collection<Object> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void distinctFunctionReturnsNull() {
just1.distinct(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void distinctUntilChangedFunctionNull() {
just1.distinctUntilChanged((Function<Integer, Integer>)null);
}
@Test(expected = NullPointerException.class)
public void distinctUntilChangedBiPredicateNull() {
just1.distinctUntilChanged((BiPredicate<Integer, Integer>)null);
}
@Test
public void distinctUntilChangedFunctionReturnsNull() {
Flowable.range(1, 2).distinctUntilChanged(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return null;
}
}).test().assertResult(1);
}
@Test(expected = NullPointerException.class)
public void doOnCancelNull() {
just1.doOnCancel(null);
}
@Test(expected = NullPointerException.class)
public void doOnCompleteNull() {
just1.doOnComplete(null);
}
@Test(expected = NullPointerException.class)
public void doOnEachSupplierNull() {
just1.doOnEach((Consumer<Notification<Integer>>)null);
}
@Test(expected = NullPointerException.class)
public void doOnEachSubscriberNull() {
just1.doOnEach((Subscriber<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void doOnErrorNull() {
just1.doOnError(null);
}
@Test(expected = NullPointerException.class)
public void doOnLifecycleOnSubscribeNull() {
just1.doOnLifecycle(null, new LongConsumer() {
@Override
public void accept(long v) { }
}, new Action() {
@Override
public void run() { }
});
}
@Test(expected = NullPointerException.class)
public void doOnLifecycleOnRequestNull() {
just1.doOnLifecycle(new Consumer<Subscription>() {
@Override
public void accept(Subscription s) { }
}, null, new Action() {
@Override
public void run() { }
});
}
@Test(expected = NullPointerException.class)
public void doOnLifecycleOnCancelNull() {
just1.doOnLifecycle(new Consumer<Subscription>() {
@Override
public void accept(Subscription s) { }
}, new LongConsumer() {
@Override
public void accept(long v) { }
}, null);
}
@Test(expected = NullPointerException.class)
public void doOnNextNull() {
just1.doOnNext(null);
}
@Test(expected = NullPointerException.class)
public void doOnRequestNull() {
just1.doOnRequest(null);
}
@Test(expected = NullPointerException.class)
public void doOnSubscribeNull() {
just1.doOnSubscribe(null);
}
@Test(expected = NullPointerException.class)
public void doOnTerminatedNull() {
just1.doOnTerminate(null);
}
@Test(expected = NullPointerException.class)
public void elementAtNull() {
just1.elementAt(1, null);
}
@Test(expected = NullPointerException.class)
public void filterNull() {
just1.filter(null);
}
@Test(expected = NullPointerException.class)
public void doAfterTerminateNull() {
just1.doAfterTerminate(null);
}
@Test(expected = NullPointerException.class)
public void firstNull() {
just1.first(null);
}
@Test(expected = NullPointerException.class)
public void flatMapNull() {
just1.flatMap(null);
}
@Test(expected = NullPointerException.class)
public void flatMapFunctionReturnsNull() {
just1.flatMap(new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapNotificationOnNextNull() {
just1.flatMap(null, new Function<Throwable, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Throwable e) {
return just1;
}
}, new Callable<Publisher<Integer>>() {
@Override
public Publisher<Integer> call() {
return just1;
}
});
}
@Test(expected = NullPointerException.class)
public void flatMapNotificationOnNextReturnsNull() {
just1.flatMap(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return null;
}
}, new Function<Throwable, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Throwable e) {
return just1;
}
}, new Callable<Publisher<Integer>>() {
@Override
public Publisher<Integer> call() {
return just1;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapNotificationOnErrorNull() {
just1.flatMap(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
}, null, new Callable<Publisher<Integer>>() {
@Override
public Publisher<Integer> call() {
return just1;
}
});
}
@Test(expected = NullPointerException.class)
public void flatMapNotificationOnErrorReturnsNull() {
Flowable.error(new TestException()).flatMap(new Function<Object, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Object v) {
return just1;
}
}, new Function<Throwable, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Throwable e) {
return null;
}
}, new Callable<Publisher<Integer>>() {
@Override
public Publisher<Integer> call() {
return just1;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapNotificationOnCompleteNull() {
just1.flatMap(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
}, new Function<Throwable, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Throwable e) {
return just1;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void flatMapNotificationOnCompleteReturnsNull() {
just1.flatMap(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
}, new Function<Throwable, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Throwable e) {
return just1;
}
}, new Callable<Publisher<Integer>>() {
@Override
public Publisher<Integer> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapCombinerMapperNull() {
just1.flatMap(null, new BiFunction<Integer, Object, Object>() {
@Override
public Object apply(Integer a, Object b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void flatMapCombinerMapperReturnsNull() {
just1.flatMap(new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}, new BiFunction<Integer, Object, Object>() {
@Override
public Object apply(Integer a, Object b) {
return 1;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapCombinerCombinerNull() {
just1.flatMap(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void flatMapCombinerCombinerReturnsNull() {
just1.flatMap(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
}, new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapIterableMapperNull() {
just1.flatMapIterable(null);
}
@Test(expected = NullPointerException.class)
public void flatMapIterableMapperReturnsNull() {
just1.flatMapIterable(new Function<Integer, Iterable<Object>>() {
@Override
public Iterable<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapIterableMapperIteratorNull() {
just1.flatMapIterable(new Function<Integer, Iterable<Object>>() {
@Override
public Iterable<Object> apply(Integer v) {
return new Iterable<Object>() {
@Override
public Iterator<Object> iterator() {
return null;
}
};
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapIterableMapperIterableOneNull() {
just1.flatMapIterable(new Function<Integer, Iterable<Integer>>() {
@Override
public Iterable<Integer> apply(Integer v) {
return Arrays.asList(1, null);
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void flatMapIterableCombinerNull() {
just1.flatMapIterable(new Function<Integer, Iterable<Integer>>() {
@Override
public Iterable<Integer> apply(Integer v) {
return Arrays.asList(1);
}
}, null);
}
@Test(expected = NullPointerException.class)
public void flatMapIterableCombinerReturnsNull() {
just1.flatMapIterable(new Function<Integer, Iterable<Integer>>() {
@Override
public Iterable<Integer> apply(Integer v) {
return Arrays.asList(1);
}
}, new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void forEachNull() {
just1.forEach(null);
}
@Test(expected = NullPointerException.class)
public void forEachWhileNull() {
just1.forEachWhile(null);
}
@Test(expected = NullPointerException.class)
public void forEachWhileOnErrorNull() {
just1.forEachWhile(new Predicate<Integer>() {
@Override
public boolean test(Integer v) {
return true;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void forEachWhileOnCompleteNull() {
just1.forEachWhile(new Predicate<Integer>() {
@Override
public boolean test(Integer v) {
return true;
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable e) { }
}, null);
}
@Test(expected = NullPointerException.class)
public void groupByNull() {
just1.groupBy(null);
}
public void groupByKeyNull() {
just1.groupBy(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void groupByValueNull() {
just1.groupBy(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void groupByValueReturnsNull() {
just1.groupBy(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void lastNull() {
just1.last(null);
}
@Test(expected = NullPointerException.class)
public void liftNull() {
just1.lift(null);
}
@Test(expected = NullPointerException.class)
public void liftReturnsNull() {
just1.lift(new FlowableOperator<Object, Integer>() {
@Override
public Subscriber<? super Integer> apply(Subscriber<? super Object> s) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void mapNull() {
just1.map(null);
}
@Test(expected = NullPointerException.class)
public void mapReturnsNull() {
just1.map(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void mergeWithNull() {
just1.mergeWith(null);
}
@Test(expected = NullPointerException.class)
public void observeOnNull() {
just1.observeOn(null);
}
@Test(expected = NullPointerException.class)
public void ofTypeNull() {
just1.ofType(null);
}
@Test(expected = NullPointerException.class)
public void onBackpressureBufferOverflowNull() {
just1.onBackpressureBuffer(10, null);
}
@Test(expected = NullPointerException.class)
public void onBackpressureDropActionNull() {
just1.onBackpressureDrop(null);
}
@Test(expected = NullPointerException.class)
public void onErrorResumeNextFunctionNull() {
just1.onErrorResumeNext((Function<Throwable, Publisher<Integer>>)null);
}
@Test(expected = NullPointerException.class)
public void onErrorResumeNextFunctionReturnsNull() {
Flowable.error(new TestException()).onErrorResumeNext(new Function<Throwable, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Throwable e) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void onErrorResumeNextPublisherNull() {
just1.onErrorResumeNext((Publisher<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void onErrorReturnFunctionNull() {
just1.onErrorReturn(null);
}
@Test(expected = NullPointerException.class)
public void onErrorReturnValueNull() {
just1.onErrorReturnItem(null);
}
@Test
public void onErrorReturnFunctionReturnsNull() {
try {
Flowable.error(new TestException()).onErrorReturn(new Function<Throwable, Object>() {
@Override
public Object apply(Throwable e) {
return null;
}
}).blockingSubscribe();
fail("Should have thrown");
} catch (CompositeException ex) {
List<Throwable> errors = TestHelper.compositeList(ex);
TestHelper.assertError(errors, 0, TestException.class);
TestHelper.assertError(errors, 1, NullPointerException.class, "The valueSupplier returned a null value");
}
}
@Test(expected = NullPointerException.class)
public void onExceptionResumeNext() {
just1.onExceptionResumeNext(null);
}
@Test(expected = NullPointerException.class)
public void publishFunctionNull() {
just1.publish(null);
}
@Test(expected = NullPointerException.class)
public void publishFunctionReturnsNull() {
just1.publish(new Function<Flowable<Integer>, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Flowable<Integer> v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void reduceFunctionNull() {
just1.reduce(null);
}
@Test(expected = NullPointerException.class)
public void reduceFunctionReturnsNull() {
Flowable.just(1, 1).reduce(new BiFunction<Integer, Integer, Integer>() {
@Override
public Integer apply(Integer a, Integer b) {
return null;
}
}).toFlowable().blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void reduceSeedNull() {
just1.reduce(null, new BiFunction<Object, Integer, Object>() {
@Override
public Object apply(Object a, Integer b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void reduceSeedFunctionNull() {
just1.reduce(1, null);
}
@Test(expected = NullPointerException.class)
public void reduceSeedFunctionReturnsNull() {
just1.reduce(1, new BiFunction<Integer, Integer, Integer>() {
@Override
public Integer apply(Integer a, Integer b) {
return null;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void reduceWithSeedNull() {
just1.reduceWith(null, new BiFunction<Object, Integer, Object>() {
@Override
public Object apply(Object a, Integer b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void reduceWithSeedReturnsNull() {
just1.reduceWith(new Callable<Object>() {
@Override
public Object call() {
return null;
}
}, new BiFunction<Object, Integer, Object>() {
@Override
public Object apply(Object a, Integer b) {
return 1;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void repeatUntilNull() {
just1.repeatUntil(null);
}
@Test(expected = NullPointerException.class)
public void repeatWhenNull() {
just1.repeatWhen(null);
}
@Test(expected = NullPointerException.class)
public void repeatWhenFunctionReturnsNull() {
just1.repeatWhen(new Function<Flowable<Object>, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Flowable<Object> v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replaySelectorNull() {
just1.replay((Function<Flowable<Integer>, Flowable<Integer>>)null);
}
@Test(expected = NullPointerException.class)
public void replaySelectorReturnsNull() {
just1.replay(new Function<Flowable<Integer>, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Flowable<Integer> o) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replayBoundedSelectorNull() {
just1.replay((Function<Flowable<Integer>, Flowable<Integer>>)null, 1, 1, TimeUnit.SECONDS);
}
@Test(expected = NullPointerException.class)
public void replayBoundedSelectorReturnsNull() {
just1.replay(new Function<Flowable<Integer>, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Flowable<Integer> v) {
return null;
}
}, 1, 1, TimeUnit.SECONDS).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replaySchedulerNull() {
just1.replay((Scheduler)null);
}
@Test(expected = NullPointerException.class)
public void replayBoundedUnitNull() {
just1.replay(new Function<Flowable<Integer>, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Flowable<Integer> v) {
return v;
}
}, 1, 1, null).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replayBoundedSchedulerNull() {
just1.replay(new Function<Flowable<Integer>, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Flowable<Integer> v) {
return v;
}
}, 1, 1, TimeUnit.SECONDS, null).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replayTimeBoundedSelectorNull() {
just1.replay(null, 1, TimeUnit.SECONDS, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void replayTimeBoundedSelectorReturnsNull() {
just1.replay(new Function<Flowable<Integer>, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Flowable<Integer> v) {
return null;
}
}, 1, TimeUnit.SECONDS, Schedulers.single()).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replaySelectorTimeBoundedUnitNull() {
just1.replay(new Function<Flowable<Integer>, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Flowable<Integer> v) {
return v;
}
}, 1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void replaySelectorTimeBoundedSchedulerNull() {
just1.replay(new Function<Flowable<Integer>, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Flowable<Integer> v) {
return v;
}
}, 1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void replayTimeSizeBoundedUnitNull() {
just1.replay(1, 1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void replayTimeSizeBoundedSchedulerNull() {
just1.replay(1, 1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void replayBufferSchedulerNull() {
just1.replay(1, (Scheduler)null);
}
@Test(expected = NullPointerException.class)
public void replayTimeBoundedUnitNull() {
just1.replay(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void replayTimeBoundedSchedulerNull() {
just1.replay(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void retryFunctionNull() {
just1.retry((BiPredicate<Integer, Throwable>)null);
}
@Test(expected = NullPointerException.class)
public void retryCountFunctionNull() {
just1.retry(1, null);
}
@Test(expected = NullPointerException.class)
public void retryPredicateNull() {
just1.retry((Predicate<Throwable>)null);
}
@Test(expected = NullPointerException.class)
public void retryWhenFunctionNull() {
just1.retryWhen(null);
}
@Test(expected = NullPointerException.class)
public void retryWhenFunctionReturnsNull() {
Flowable.error(new TestException()).retryWhen(new Function<Flowable<? extends Throwable>, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Flowable<? extends Throwable> f) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void retryUntil() {
just1.retryUntil(null);
}
@Test(expected = NullPointerException.class)
public void safeSubscribeNull() {
just1.safeSubscribe(null);
}
@Test(expected = NullPointerException.class)
public void sampleUnitNull() {
just1.sample(1, null);
}
@Test(expected = NullPointerException.class)
public void sampleSchedulerNull() {
just1.sample(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void samplePublisherNull() {
just1.sample(null);
}
@Test(expected = NullPointerException.class)
public void scanFunctionNull() {
just1.scan(null);
}
@Test(expected = NullPointerException.class)
public void scanFunctionReturnsNull() {
Flowable.just(1, 1).scan(new BiFunction<Integer, Integer, Integer>() {
@Override
public Integer apply(Integer a, Integer b) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void scanSeedNull() {
just1.scan(null, new BiFunction<Object, Integer, Object>() {
@Override
public Object apply(Object a, Integer b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void scanSeedFunctionNull() {
just1.scan(1, null);
}
@Test(expected = NullPointerException.class)
public void scanSeedFunctionReturnsNull() {
just1.scan(1, new BiFunction<Integer, Integer, Integer>() {
@Override
public Integer apply(Integer a, Integer b) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void scanSeedSupplierNull() {
just1.scanWith(null, new BiFunction<Object, Integer, Object>() {
@Override
public Object apply(Object a, Integer b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void scanSeedSupplierReturnsNull() {
just1.scanWith(new Callable<Object>() {
@Override
public Object call() {
return null;
}
}, new BiFunction<Object, Integer, Object>() {
@Override
public Object apply(Object a, Integer b) {
return 1;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void scanSeedSupplierFunctionNull() {
just1.scanWith(new Callable<Object>() {
@Override
public Object call() {
return 1;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void scanSeedSupplierFunctionReturnsNull() {
just1.scanWith(new Callable<Object>() {
@Override
public Object call() {
return 1;
}
}, new BiFunction<Object, Integer, Object>() {
@Override
public Object apply(Object a, Integer b) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void singleNull() {
just1.single(null);
}
@Test(expected = NullPointerException.class)
public void skipTimedUnitNull() {
just1.skip(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void skipTimedSchedulerNull() {
just1.skip(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void skipLastTimedUnitNull() {
just1.skipLast(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void skipLastTimedSchedulerNull() {
just1.skipLast(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void skipUntilNull() {
just1.skipUntil(null);
}
@Test(expected = NullPointerException.class)
public void skipWhileNull() {
just1.skipWhile(null);
}
@Test(expected = NullPointerException.class)
public void startWithIterableNull() {
just1.startWith((Iterable<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void startWithIterableIteratorNull() {
just1.startWith(new Iterable<Integer>() {
@Override
public Iterator<Integer> iterator() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void startWithIterableOneNull() {
just1.startWith(Arrays.asList(1, null)).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void startWithSingleNull() {
just1.startWith((Integer)null);
}
@Test(expected = NullPointerException.class)
public void startWithPublisherNull() {
just1.startWith((Publisher<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void startWithArrayNull() {
just1.startWithArray((Integer[])null);
}
@Test(expected = NullPointerException.class)
public void startWithArrayOneNull() {
just1.startWithArray(1, null).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void subscribeOnNextNull() {
just1.subscribe((Consumer<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void subscribeOnErrorNull() {
just1.subscribe(Functions.emptyConsumer(), null);
}
@Test(expected = NullPointerException.class)
public void subscribeOnCompleteNull() {
just1.subscribe(Functions.emptyConsumer(), Functions.emptyConsumer(), null);
}
@Test(expected = NullPointerException.class)
public void subscribeOnSubscribeNull() {
just1.subscribe(Functions.emptyConsumer(), Functions.emptyConsumer(), Functions.EMPTY_ACTION, null);
}
@Test(expected = NullPointerException.class)
public void subscribeNull() {
just1.subscribe((Subscriber<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void subscribeNull2() {
just1.subscribe((FlowableSubscriber<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void subscribeOnNull() {
just1.subscribeOn(null);
}
@Test(expected = NullPointerException.class)
public void switchIfEmptyNull() {
just1.switchIfEmpty(null);
}
@Test(expected = NullPointerException.class)
public void switchMapNull() {
just1.switchMap(null);
}
@Test(expected = NullPointerException.class)
public void switchMapFunctionReturnsNull() {
just1.switchMap(new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void takeTimedUnitNull() {
just1.take(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void takeTimedSchedulerNull() {
just1.take(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void takeLastTimedUnitNull() {
just1.takeLast(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void takeLastSizeTimedUnitNull() {
just1.takeLast(1, 1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void takeLastTimedSchedulerNull() {
just1.takeLast(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void takeLastSizeTimedSchedulerNull() {
just1.takeLast(1, 1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void takeUntilPredicateNull() {
just1.takeUntil((Predicate<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void takeUntilPublisherNull() {
just1.takeUntil((Publisher<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void takeWhileNull() {
just1.takeWhile(null);
}
@Test(expected = NullPointerException.class)
public void throttleFirstUnitNull() {
just1.throttleFirst(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void throttleFirstSchedulerNull() {
just1.throttleFirst(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void throttleLastUnitNull() {
just1.throttleLast(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void throttleLastSchedulerNull() {
just1.throttleLast(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void throttleWithTimeoutUnitNull() {
just1.throttleWithTimeout(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void throttleWithTimeoutSchedulerNull() {
just1.throttleWithTimeout(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void timeIntervalUnitNull() {
just1.timeInterval(null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void timeIntervalSchedulerNull() {
just1.timeInterval(TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void timeoutSelectorNull() {
just1.timeout(null);
}
@Test(expected = NullPointerException.class)
public void timeoutSelectorReturnsNull() {
just1.timeout(new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void timeoutSelectorOtherNull() {
just1.timeout(new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void timeoutUnitNull() {
just1.timeout(1, null, Schedulers.single(), just1);
}
@Test(expected = NullPointerException.class)
public void timeouOtherNull() {
just1.timeout(1, TimeUnit.SECONDS, Schedulers.single(), null);
}
@Test(expected = NullPointerException.class)
public void timeouSchedulerNull() {
just1.timeout(1, TimeUnit.SECONDS, null, just1);
}
@Test(expected = NullPointerException.class)
public void timeoutFirstNull() {
just1.timeout((Publisher<Integer>)null, new Function<Integer, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Integer v) {
return just1;
}
});
}
@Test(expected = NullPointerException.class)
public void timeoutFirstItemNull() {
just1.timeout(just1, null);
}
@Test(expected = NullPointerException.class)
public void timeoutFirstItemReturnsNull() {
just1.timeout(just1, new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void timestampUnitNull() {
just1.timestamp(null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void timestampSchedulerNull() {
just1.timestamp(TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void toNull() {
just1.to(null);
}
@Test(expected = NullPointerException.class)
public void toListNull() {
just1.toList(null);
}
@Test(expected = NullPointerException.class)
public void toListSupplierReturnsNull() {
just1.toList(new Callable<Collection<Integer>>() {
@Override
public Collection<Integer> call() {
return null;
}
}).toFlowable().blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void toListSupplierReturnsNullSingle() {
just1.toList(new Callable<Collection<Integer>>() {
@Override
public Collection<Integer> call() {
return null;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void toSortedListNull() {
just1.toSortedList(null);
}
@Test(expected = NullPointerException.class)
public void toMapKeyNullAllowed() {
just1.toMap(null);
}
@Test(expected = NullPointerException.class)
public void toMapValueNull() {
just1.toMap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, null);
}
@Test
public void toMapValueSelectorReturnsNull() {
just1.toMap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return null;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void toMapMapSupplierNull() {
just1.toMap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void toMapMapSupplierReturnsNull() {
just1.toMap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Callable<Map<Object, Object>>() {
@Override
public Map<Object, Object> call() {
return null;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void toMultimapKeyNull() {
just1.toMultimap(null);
}
@Test(expected = NullPointerException.class)
public void toMultimapValueNull() {
just1.toMultimap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, null);
}
@Test
public void toMultiMapValueSelectorReturnsNullAllowed() {
just1.toMap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return null;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void toMultimapMapMapSupplierNull() {
just1.toMultimap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, null);
}
@Test(expected = NullPointerException.class)
public void toMultimapMapSupplierReturnsNull() {
just1.toMultimap(new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Function<Integer, Object>() {
@Override
public Object apply(Integer v) {
return v;
}
}, new Callable<Map<Object, Collection<Object>>>() {
@Override
public Map<Object, Collection<Object>> call() {
return null;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void toMultimapMapMapCollectionSupplierNull() {
just1.toMultimap(new Function<Integer, Integer>() {
@Override
public Integer apply(Integer v) {
return v;
}
}, new Function<Integer, Integer>() {
@Override
public Integer apply(Integer v) {
return v;
}
}, new Callable<Map<Integer, Collection<Integer>>>() {
@Override
public Map<Integer, Collection<Integer>> call() {
return new HashMap<Integer, Collection<Integer>>();
}
}, null);
}
@Test(expected = NullPointerException.class)
public void toMultimapMapCollectionSupplierReturnsNull() {
just1.toMultimap(new Function<Integer, Integer>() {
@Override
public Integer apply(Integer v) {
return v;
}
}, new Function<Integer, Integer>() {
@Override
public Integer apply(Integer v) {
return v;
}
}, new Callable<Map<Integer, Collection<Integer>>>() {
@Override
public Map<Integer, Collection<Integer>> call() {
return new HashMap<Integer, Collection<Integer>>();
}
}, new Function<Integer, Collection<Integer>>() {
@Override
public Collection<Integer> apply(Integer v) {
return null;
}
}).blockingGet();
}
@Test(expected = NullPointerException.class)
public void unsubscribeOnNull() {
just1.unsubscribeOn(null);
}
@Test(expected = NullPointerException.class)
public void windowTimedUnitNull() {
just1.window(1, null, Schedulers.single());
}
@Test(expected = NullPointerException.class)
public void windowSizeTimedUnitNull() {
just1.window(1, null, Schedulers.single(), 1);
}
@Test(expected = NullPointerException.class)
public void windowTimedSchedulerNull() {
just1.window(1, TimeUnit.SECONDS, null);
}
@Test(expected = NullPointerException.class)
public void windowSizeTimedSchedulerNull() {
just1.window(1, TimeUnit.SECONDS, null, 1);
}
@Test(expected = NullPointerException.class)
public void windowBoundaryNull() {
just1.window((Publisher<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void windowOpenCloseOpenNull() {
just1.window(null, new Function<Object, Publisher<Integer>>() {
@Override
public Publisher<Integer> apply(Object v) {
return just1;
}
});
}
@Test(expected = NullPointerException.class)
public void windowOpenCloseCloseNull() {
just1.window(just1, null);
}
@Test(expected = NullPointerException.class)
public void windowOpenCloseCloseReturnsNull() {
Flowable.never().window(just1, new Function<Integer, Publisher<Object>>() {
@Override
public Publisher<Object> apply(Integer v) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void windowBoundarySupplierNull() {
just1.window((Callable<Publisher<Integer>>)null);
}
@Test(expected = NullPointerException.class)
public void windowBoundarySupplierReturnsNull() {
just1.window(new Callable<Publisher<Object>>() {
@Override
public Publisher<Object> call() {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void withLatestFromOtherNull() {
just1.withLatestFrom(null, new BiFunction<Integer, Object, Object>() {
@Override
public Object apply(Integer a, Object b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void withLatestFromCombinerNull() {
just1.withLatestFrom(just1, null);
}
@Test(expected = NullPointerException.class)
public void withLatestFromCombinerReturnsNull() {
just1.withLatestFrom(just1, new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void zipWithIterableNull() {
just1.zipWith((Iterable<Integer>)null, new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void zipWithIterableCombinerNull() {
just1.zipWith(Arrays.asList(1), null);
}
@Test(expected = NullPointerException.class)
public void zipWithIterableCombinerReturnsNull() {
just1.zipWith(Arrays.asList(1), new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return null;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void zipWithIterableIteratorNull() {
just1.zipWith(new Iterable<Object>() {
@Override
public Iterator<Object> iterator() {
return null;
}
}, new BiFunction<Integer, Object, Object>() {
@Override
public Object apply(Integer a, Object b) {
return 1;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void zipWithIterableOneIsNull() {
Flowable.just(1, 2).zipWith(Arrays.asList(1, null), new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return 1;
}
}).blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void zipWithPublisherNull() {
just1.zipWith((Publisher<Integer>)null, new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void zipWithCombinerNull() {
just1.zipWith(just1, null);
}
@Test(expected = NullPointerException.class)
public void zipWithCombinerReturnsNull() {
just1.zipWith(just1, new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return null;
}
}).blockingSubscribe();
}
//*********************************************
// Subject null tests
//*********************************************
@Test(expected = NullPointerException.class)
public void asyncSubjectOnNextNull() {
FlowableProcessor<Integer> subject = AsyncProcessor.create();
subject.onNext(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void asyncSubjectOnErrorNull() {
FlowableProcessor<Integer> subject = AsyncProcessor.create();
subject.onError(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void behaviorSubjectOnNextNull() {
FlowableProcessor<Integer> subject = BehaviorProcessor.create();
subject.onNext(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void behaviorSubjectOnErrorNull() {
FlowableProcessor<Integer> subject = BehaviorProcessor.create();
subject.onError(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void publishSubjectOnNextNull() {
FlowableProcessor<Integer> subject = PublishProcessor.create();
subject.onNext(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void publishSubjectOnErrorNull() {
FlowableProcessor<Integer> subject = PublishProcessor.create();
subject.onError(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replaycSubjectOnNextNull() {
FlowableProcessor<Integer> subject = ReplayProcessor.create();
subject.onNext(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void replaySubjectOnErrorNull() {
FlowableProcessor<Integer> subject = ReplayProcessor.create();
subject.onError(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void serializedcSubjectOnNextNull() {
FlowableProcessor<Integer> subject = PublishProcessor.<Integer>create().toSerialized();
subject.onNext(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void serializedSubjectOnErrorNull() {
FlowableProcessor<Integer> subject = PublishProcessor.<Integer>create().toSerialized();
subject.onError(null);
subject.blockingSubscribe();
}
@Test(expected = NullPointerException.class)
public void doOnLifecycleOnDisposeNull() {
just1.doOnLifecycle(new Consumer<Subscription>() {
@Override
public void accept(Subscription s) { }
},
new LongConsumer() {
@Override
public void accept(long v) throws Exception { }
},
null);
}
@Test(expected = NullPointerException.class)
public void zipWithFlowableNull() {
just1.zipWith((Flowable<Integer>)null, new BiFunction<Integer, Integer, Object>() {
@Override
public Object apply(Integer a, Integer b) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void unsafeSubscribeNull() {
just1.subscribe((FlowableSubscriber<Object>)null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorIterableFunctionReturnsNull() {
Flowable.combineLatestDelayError(Arrays.asList(just1), new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return null;
}
}, 128).blockingLast();
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorIterableFunctionNull() {
Flowable.combineLatestDelayError(Arrays.asList(just1), null, 128);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorVarargsFunctionNull() {
Flowable.combineLatestDelayError(null, 128, Flowable.never());
}
@Test(expected = NullPointerException.class)
public void zipFlowableNull() {
Flowable.zip((Flowable<Flowable<Object>>)null, new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return 1;
}
});
}
@Test(expected = NullPointerException.class)
public void zipFlowableFunctionNull() {
Flowable.zip((Flowable.just(just1)), null);
}
@Test(expected = NullPointerException.class)
public void zipFlowableFunctionReturnsNull() {
Flowable.zip((Flowable.just(just1)), new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return null;
}
}).blockingLast();
}
@Test(expected = NullPointerException.class)
public void concatFlowableNull() {
Flowable.concat((Flowable<Flowable<Object>>)null);
}
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorVarargsNull() {
Flowable.combineLatestDelayError(new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}, 128, (Flowable<Object>[])null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorVarargsOneIsNull() {
Flowable.combineLatestDelayError(new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}, 128, Flowable.never(), null).blockingLast();
}
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorIterableNull() {
Flowable.combineLatestDelayError((Iterable<Flowable<Object>>)null, new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}, 128);
}
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorIterableIteratorNull() {
Flowable.combineLatestDelayError(new Iterable<Flowable<Object>>() {
@Override
public Iterator<Flowable<Object>> iterator() {
return null;
}
}, new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}, 128).blockingLast();
}
@Test(expected = NullPointerException.class)
public void doOnDisposeNull() {
just1.doOnCancel(null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorIterableOneIsNull() {
Flowable.combineLatestDelayError(Arrays.asList(Flowable.never(), null), new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return 1;
}
}, 128).blockingLast();
}
@Test(expected = NullPointerException.class)
public void takeUntilFlowableNull() {
just1.takeUntil((Flowable<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void startWithFlowableNull() {
just1.startWith((Flowable<Integer>)null);
}
@Test(expected = NullPointerException.class)
public void delaySubscriptionOtherNull() {
just1.delaySubscription((Flowable<Object>)null);
}
@Test(expected = NullPointerException.class)
public void sampleFlowableNull() {
just1.sample(null);
}
@Test(expected = NullPointerException.class)
public void onErrorResumeNextFlowableNull() {
just1.onErrorResumeNext((Flowable<Integer>)null);
}
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void combineLatestDelayErrorVarargsFunctionReturnsNull() {
Flowable.combineLatestDelayError(new Function<Object[], Object>() {
@Override
public Object apply(Object[] v) {
return null;
}
}, 128, just1).blockingLast();
}
}