Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.x: Rename zipIterable, remove zip(O(O)), adjust concatMapX arg order #6638

Merged
merged 1 commit into from
Aug 28, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 45 additions & 100 deletions src/main/java/io/reactivex/rxjava3/core/Flowable.java

Large diffs are not rendered by default.

139 changes: 42 additions & 97 deletions src/main/java/io/reactivex/rxjava3/core/Observable.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
*/
package io.reactivex.rxjava3.internal.operators.flowable;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.reactivestreams.*;
Expand Down Expand Up @@ -217,24 +216,6 @@ public void accept(Subscription t) throws Exception {
}
}

static final class ZipIterableFunction<T, R>
implements Function<List<Publisher<? extends T>>, Publisher<? extends R>> {
private final Function<? super Object[], ? extends R> zipper;

ZipIterableFunction(Function<? super Object[], ? extends R> zipper) {
this.zipper = zipper;
}

@Override
public Publisher<? extends R> apply(List<Publisher<? extends T>> list) {
return Flowable.zipIterable(list, zipper, false, Flowable.bufferSize());
}
}

public static <T, R> Function<List<Publisher<? extends T>>, Publisher<? extends R>> zipIterable(final Function<? super Object[], ? extends R> zipper) {
return new ZipIterableFunction<T, R>(zipper);
}

static final class ReplaySupplier<T> implements Supplier<ConnectableFlowable<T>> {

final Flowable<T> parent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
*/
package io.reactivex.rxjava3.internal.operators.observable;

import java.util.List;
import java.util.concurrent.TimeUnit;

import io.reactivex.rxjava3.core.*;
Expand Down Expand Up @@ -214,24 +213,6 @@ public static <T> Supplier<ConnectableObservable<T>> replaySupplier(final Observ
return new TimedReplayCallable<T>(parent, time, unit, scheduler, eagerTruncate);
}

static final class ZipIterableFunction<T, R>
implements Function<List<ObservableSource<? extends T>>, ObservableSource<? extends R>> {
private final Function<? super Object[], ? extends R> zipper;

ZipIterableFunction(Function<? super Object[], ? extends R> zipper) {
this.zipper = zipper;
}

@Override
public ObservableSource<? extends R> apply(List<ObservableSource<? extends T>> list) {
return Observable.zipIterable(list, zipper, false, Observable.bufferSize());
}
}

public static <T, R> Function<List<ObservableSource<? extends T>>, ObservableSource<? extends R>> zipIterable(final Function<? super Object[], ? extends R> zipper) {
return new ZipIterableFunction<T, R>(zipper);
}

static final class ReplaySupplier<T> implements Supplier<ConnectableObservable<T>> {
private final Observable<T> parent;

Expand Down
58 changes: 4 additions & 54 deletions src/test/java/io/reactivex/rxjava3/flowable/FlowableNullTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -651,34 +651,9 @@ public Object apply(Object[] a) {
}).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>() {
Flowable.zip((Iterable<Publisher<Object>>)null, new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return 1;
Expand All @@ -688,7 +663,7 @@ public Object apply(Object[] a) {

@Test(expected = NullPointerException.class)
public void zipIterable2IteratorNull() {
Flowable.zipIterable(new Iterable<Publisher<Object>>() {
Flowable.zip(new Iterable<Publisher<Object>>() {
@Override
public Iterator<Publisher<Object>> iterator() {
return null;
Expand All @@ -704,13 +679,13 @@ public Object apply(Object[] a) {
@SuppressWarnings("unchecked")
@Test(expected = NullPointerException.class)
public void zipIterable2FunctionNull() {
Flowable.zipIterable(Arrays.asList(just1, just1), null, true, 128);
Flowable.zip(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>() {
Flowable.zip(Arrays.asList(just1, just1), new Function<Object[], Object>() {
@Override
public Object apply(Object[] a) {
return null;
Expand Down Expand Up @@ -2721,31 +2696,6 @@ public void combineLatestDelayErrorIterableFunctionNull() {
Flowable.combineLatestDelayError(Arrays.asList(just1), null, 128);
}

@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);
Expand Down
Loading