The following issues were found
src/test/java/io/reactivex/rxjava3/subscribers/ResourceSubscriberTest.java
70 issues
Line: 33
public class ResourceSubscriberTest extends RxJavaTest {
static class TestResourceSubscriber<T> extends ResourceSubscriber<T> {
final List<T> values = new ArrayList<>();
final List<Throwable> errors = new ArrayList<>();
int complete;
Reported by PMD.
Line: 35
static class TestResourceSubscriber<T> extends ResourceSubscriber<T> {
final List<T> values = new ArrayList<>();
final List<Throwable> errors = new ArrayList<>();
int complete;
int start;
Reported by PMD.
Line: 37
final List<Throwable> errors = new ArrayList<>();
int complete;
int start;
@Override
protected void onStart() {
Reported by PMD.
Line: 39
int complete;
int start;
@Override
protected void onStart() {
super.onStart();
Reported by PMD.
Line: 79
}
@Test
public void addResources() {
TestResourceSubscriber<Integer> ro = new TestResourceSubscriber<>();
assertFalse(ro.isDisposed());
Disposable d = Disposable.empty();
Reported by PMD.
Line: 82
public void addResources() {
TestResourceSubscriber<Integer> ro = new TestResourceSubscriber<>();
assertFalse(ro.isDisposed());
Disposable d = Disposable.empty();
ro.add(d);
Reported by PMD.
Line: 88
ro.add(d);
assertFalse(d.isDisposed());
ro.dispose();
assertTrue(ro.isDisposed());
Reported by PMD.
Line: 88
ro.add(d);
assertFalse(d.isDisposed());
ro.dispose();
assertTrue(ro.isDisposed());
Reported by PMD.
Line: 92
ro.dispose();
assertTrue(ro.isDisposed());
assertTrue(d.isDisposed());
ro.dispose();
Reported by PMD.
Line: 94
assertTrue(ro.isDisposed());
assertTrue(d.isDisposed());
ro.dispose();
assertTrue(ro.isDisposed());
Reported by PMD.
src/test/java/io/reactivex/rxjava3/schedulers/ComputationSchedulerTests.java
70 issues
Line: 83
e.printStackTrace();
}
System.out.println("Count A: " + map.get("a"));
System.out.println("Count B: " + map.get("b"));
System.out.println("nonThreadSafeCounter: " + map.get("nonThreadSafeCounter"));
assertEquals(NUM, map.get("a").intValue());
assertEquals(NUM, map.get("b").intValue());
Reported by PMD.
Line: 84
}
System.out.println("Count A: " + map.get("a"));
System.out.println("Count B: " + map.get("b"));
System.out.println("nonThreadSafeCounter: " + map.get("nonThreadSafeCounter"));
assertEquals(NUM, map.get("a").intValue());
assertEquals(NUM, map.get("b").intValue());
assertEquals(NUM, map.get("nonThreadSafeCounter").intValue());
Reported by PMD.
Line: 85
System.out.println("Count A: " + map.get("a"));
System.out.println("Count B: " + map.get("b"));
System.out.println("nonThreadSafeCounter: " + map.get("nonThreadSafeCounter"));
assertEquals(NUM, map.get("a").intValue());
assertEquals(NUM, map.get("b").intValue());
assertEquals(NUM, map.get("nonThreadSafeCounter").intValue());
} finally {
Reported by PMD.
Line: 112
@Override
public void accept(String t) {
System.out.println("t: " + t);
}
});
}
@Test
Reported by PMD.
Line: 138
@Override
public void accept(String t) {
System.out.println("t: " + t);
}
});
}
@Test
Reported by PMD.
Line: 41
}
@Test
public void threadSafetyWhenSchedulerIsHoppingBetweenThreads() {
final int NUM = 1000000;
final CountDownLatch latch = new CountDownLatch(1);
final HashMap<String, Integer> map = new HashMap<>();
Reported by PMD.
Line: 47
final CountDownLatch latch = new CountDownLatch(1);
final HashMap<String, Integer> map = new HashMap<>();
final Scheduler.Worker inner = Schedulers.computation().createWorker();
try {
inner.schedule(new Runnable() {
private HashMap<String, Integer> statefulMap = map;
Reported by PMD.
Line: 52
try {
inner.schedule(new Runnable() {
private HashMap<String, Integer> statefulMap = map;
int nonThreadSafeCounter;
@Override
public void run() {
Integer i = statefulMap.get("a");
Reported by PMD.
Line: 80
try {
latch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Count A: " + map.get("a"));
System.out.println("Count B: " + map.get("b"));
System.out.println("nonThreadSafeCounter: " + map.get("nonThreadSafeCounter"));
Reported by PMD.
Line: 87
System.out.println("Count B: " + map.get("b"));
System.out.println("nonThreadSafeCounter: " + map.get("nonThreadSafeCounter"));
assertEquals(NUM, map.get("a").intValue());
assertEquals(NUM, map.get("b").intValue());
assertEquals(NUM, map.get("nonThreadSafeCounter").intValue());
} finally {
inner.dispose();
}
Reported by PMD.
src/test/java/io/reactivex/rxjava3/single/SingleNullTests.java
70 issues
Line: 14
* the License for the specific language governing permissions and limitations under the License.
*/
package io.reactivex.rxjava3.single;
import static org.junit.Assert.assertTrue;
import java.lang.reflect.*;
import java.util.*;
Reported by PMD.
Line: 30
import io.reactivex.rxjava3.functions.*;
import io.reactivex.rxjava3.internal.functions.Functions;
public class SingleNullTests extends RxJavaTest {
Single<Integer> just1 = Single.just(1);
Single<Integer> error = Single.error(new TestException());
Reported by PMD.
Line: 30
import io.reactivex.rxjava3.functions.*;
import io.reactivex.rxjava3.internal.functions.Functions;
public class SingleNullTests extends RxJavaTest {
Single<Integer> just1 = Single.just(1);
Single<Integer> error = Single.error(new TestException());
Reported by PMD.
Line: 30
import io.reactivex.rxjava3.functions.*;
import io.reactivex.rxjava3.internal.functions.Functions;
public class SingleNullTests extends RxJavaTest {
Single<Integer> just1 = Single.just(1);
Single<Integer> error = Single.error(new TestException());
Reported by PMD.
Line: 30
import io.reactivex.rxjava3.functions.*;
import io.reactivex.rxjava3.internal.functions.Functions;
public class SingleNullTests extends RxJavaTest {
Single<Integer> just1 = Single.just(1);
Single<Integer> error = Single.error(new TestException());
Reported by PMD.
Line: 32
public class SingleNullTests extends RxJavaTest {
Single<Integer> just1 = Single.just(1);
Single<Integer> error = Single.error(new TestException());
@Test
public void ambIterableIteratorNull() {
Reported by PMD.
Line: 34
Single<Integer> just1 = Single.just(1);
Single<Integer> error = Single.error(new TestException());
@Test
public void ambIterableIteratorNull() {
Single.amb(new Iterable<Single<Object>>() {
@Override
Reported by PMD.
Line: 48
@Test
public void ambIterableOneIsNull() {
Single.amb(Arrays.asList(null, just1))
.test()
.assertError(NullPointerException.class);
}
@Test
Reported by PMD.
Line: 48
@Test
public void ambIterableOneIsNull() {
Single.amb(Arrays.asList(null, just1))
.test()
.assertError(NullPointerException.class);
}
@Test
Reported by PMD.
Line: 55
@Test
public void ambArrayOneIsNull() {
Single.ambArray(null, just1)
.test()
.assertError(NullPointerException.class);
}
@Test(expected = NullPointerException.class)
Reported by PMD.
src/test/java/io/reactivex/rxjava3/internal/jdk8/MaybeToCompletionStageTest.java
70 issues
Line: 32
public class MaybeToCompletionStageTest extends RxJavaTest {
@Test
public void just() throws Exception {
Integer v = Maybe.just(1)
.toCompletionStage(null)
.toCompletableFuture()
.get();
Reported by PMD.
Line: 33
@Test
public void just() throws Exception {
Integer v = Maybe.just(1)
.toCompletionStage(null)
.toCompletableFuture()
.get();
assertEquals((Integer)1, v);
Reported by PMD.
Line: 33
@Test
public void just() throws Exception {
Integer v = Maybe.just(1)
.toCompletionStage(null)
.toCompletableFuture()
.get();
assertEquals((Integer)1, v);
Reported by PMD.
Line: 33
@Test
public void just() throws Exception {
Integer v = Maybe.just(1)
.toCompletionStage(null)
.toCompletableFuture()
.get();
assertEquals((Integer)1, v);
Reported by PMD.
Line: 38
.toCompletableFuture()
.get();
assertEquals((Integer)1, v);
}
@Test
public void empty() throws Exception {
Integer v = Maybe.<Integer>empty()
Reported by PMD.
Line: 42
}
@Test
public void empty() throws Exception {
Integer v = Maybe.<Integer>empty()
.toCompletionStage(2)
.toCompletableFuture()
.get();
Reported by PMD.
Line: 43
@Test
public void empty() throws Exception {
Integer v = Maybe.<Integer>empty()
.toCompletionStage(2)
.toCompletableFuture()
.get();
assertEquals((Integer)2, v);
Reported by PMD.
Line: 43
@Test
public void empty() throws Exception {
Integer v = Maybe.<Integer>empty()
.toCompletionStage(2)
.toCompletableFuture()
.get();
assertEquals((Integer)2, v);
Reported by PMD.
Line: 43
@Test
public void empty() throws Exception {
Integer v = Maybe.<Integer>empty()
.toCompletionStage(2)
.toCompletableFuture()
.get();
assertEquals((Integer)2, v);
Reported by PMD.
Line: 43
@Test
public void empty() throws Exception {
Integer v = Maybe.<Integer>empty()
.toCompletionStage(2)
.toCompletableFuture()
.get();
assertEquals((Integer)2, v);
Reported by PMD.
src/test/java/io/reactivex/rxjava3/parallel/ParallelDoOnNextTryTest.java
69 issues
Line: 106
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, ParallelFailureHandling.ERROR)
.sequential()
.test()
Reported by PMD.
Line: 123
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, ParallelFailureHandling.STOP)
.sequential()
.test()
Reported by PMD.
Line: 144
return;
}
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, ParallelFailureHandling.RETRY)
.sequential()
.test()
Reported by PMD.
Line: 161
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, new BiFunction<Long, Throwable, ParallelFailureHandling>() {
@Override
public ParallelFailureHandling apply(Long n, Throwable e) throws Exception {
Reported by PMD.
Line: 183
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, ParallelFailureHandling.SKIP)
.sequential()
.test()
Reported by PMD.
Line: 200
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, new BiFunction<Long, Throwable, ParallelFailureHandling>() {
@Override
public ParallelFailureHandling apply(Long n, Throwable e) throws Exception {
Reported by PMD.
Line: 247
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, ParallelFailureHandling.ERROR)
.filter(Functions.alwaysTrue())
.sequential()
Reported by PMD.
Line: 265
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, ParallelFailureHandling.STOP)
.filter(Functions.alwaysTrue())
.sequential()
Reported by PMD.
Line: 287
return;
}
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, ParallelFailureHandling.RETRY)
.filter(Functions.alwaysTrue())
.sequential()
Reported by PMD.
Line: 305
@Override
public void accept(Integer v) throws Exception {
if (1 / v < 0) {
System.out.println("Should not happen!");
}
}
}, new BiFunction<Long, Throwable, ParallelFailureHandling>() {
@Override
public ParallelFailureHandling apply(Long n, Throwable e) throws Exception {
Reported by PMD.
src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableScanTest.java
69 issues
Line: 37
import io.reactivex.rxjava3.subjects.PublishSubject;
import io.reactivex.rxjava3.testsupport.*;
public class ObservableScanTest extends RxJavaTest {
@Test
public void scanIntegersWithInitialValue() {
Observer<String> observer = TestHelper.mockObserver();
Reported by PMD.
Line: 55
});
m.subscribe(observer);
verify(observer, never()).onError(any(Throwable.class));
verify(observer, times(1)).onNext("");
verify(observer, times(1)).onNext("1");
verify(observer, times(1)).onNext("12");
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
Reported by PMD.
Line: 56
m.subscribe(observer);
verify(observer, never()).onError(any(Throwable.class));
verify(observer, times(1)).onNext("");
verify(observer, times(1)).onNext("1");
verify(observer, times(1)).onNext("12");
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
verify(observer, times(1)).onComplete();
Reported by PMD.
Line: 57
verify(observer, never()).onError(any(Throwable.class));
verify(observer, times(1)).onNext("");
verify(observer, times(1)).onNext("1");
verify(observer, times(1)).onNext("12");
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
verify(observer, times(1)).onComplete();
verify(observer, never()).onError(any(Throwable.class));
Reported by PMD.
Line: 58
verify(observer, never()).onError(any(Throwable.class));
verify(observer, times(1)).onNext("");
verify(observer, times(1)).onNext("1");
verify(observer, times(1)).onNext("12");
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
verify(observer, times(1)).onComplete();
verify(observer, never()).onError(any(Throwable.class));
}
Reported by PMD.
Line: 59
verify(observer, times(1)).onNext("");
verify(observer, times(1)).onNext("1");
verify(observer, times(1)).onNext("12");
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
verify(observer, times(1)).onComplete();
verify(observer, never()).onError(any(Throwable.class));
}
Reported by PMD.
Line: 60
verify(observer, times(1)).onNext("1");
verify(observer, times(1)).onNext("12");
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
verify(observer, times(1)).onComplete();
verify(observer, never()).onError(any(Throwable.class));
}
@Test
Reported by PMD.
Line: 61
verify(observer, times(1)).onNext("12");
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
verify(observer, times(1)).onComplete();
verify(observer, never()).onError(any(Throwable.class));
}
@Test
public void scanIntegersWithoutInitialValue() {
Reported by PMD.
Line: 62
verify(observer, times(1)).onNext("123");
verify(observer, times(4)).onNext(anyString());
verify(observer, times(1)).onComplete();
verify(observer, never()).onError(any(Throwable.class));
}
@Test
public void scanIntegersWithoutInitialValue() {
Observer<Integer> observer = TestHelper.mockObserver();
Reported by PMD.
Line: 81
});
m.subscribe(observer);
verify(observer, never()).onError(any(Throwable.class));
verify(observer, never()).onNext(0);
verify(observer, times(1)).onNext(1);
verify(observer, times(1)).onNext(3);
verify(observer, times(1)).onNext(6);
verify(observer, times(3)).onNext(anyInt());
Reported by PMD.
src/test/java/io/reactivex/rxjava3/internal/util/OperatorArgumentNaming.java
69 issues
Line: 127
if (match) {
for (int k = 0; k < overloadFirst.size(); k++) {
if (!overloadFirst.get(k).name.equals(overloadSecond.get(k).name)) {
System.out.print("Argument naming mismatch #");
System.out.println(++counter);
System.out.print(" ");
System.out.print(Strings.padEnd(firstName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
Reported by PMD.
Line: 128
for (int k = 0; k < overloadFirst.size(); k++) {
if (!overloadFirst.get(k).name.equals(overloadSecond.get(k).name)) {
System.out.print("Argument naming mismatch #");
System.out.println(++counter);
System.out.print(" ");
System.out.print(Strings.padEnd(firstName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
Reported by PMD.
Line: 130
System.out.print("Argument naming mismatch #");
System.out.println(++counter);
System.out.print(" ");
System.out.print(Strings.padEnd(firstName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadFirst);
Reported by PMD.
Line: 131
System.out.println(++counter);
System.out.print(" ");
System.out.print(Strings.padEnd(firstName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadFirst);
System.out.print(" ");
Reported by PMD.
Line: 132
System.out.print(" ");
System.out.print(Strings.padEnd(firstName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadFirst);
System.out.print(" ");
System.out.print(Strings.padEnd(secondName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
Reported by PMD.
Line: 133
System.out.print(" ");
System.out.print(Strings.padEnd(firstName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadFirst);
System.out.print(" ");
System.out.print(Strings.padEnd(secondName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
Reported by PMD.
Line: 134
System.out.print(Strings.padEnd(firstName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadFirst);
System.out.print(" ");
System.out.print(Strings.padEnd(secondName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
Reported by PMD.
Line: 136
System.out.print(" ");
System.out.println(overloadFirst);
System.out.print(" ");
System.out.print(Strings.padEnd(secondName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadSecond);
System.out.println();
Reported by PMD.
Line: 137
System.out.println(overloadFirst);
System.out.print(" ");
System.out.print(Strings.padEnd(secondName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadSecond);
System.out.println();
break;
Reported by PMD.
Line: 138
System.out.print(" ");
System.out.print(Strings.padEnd(secondName, Math.max(firstName.length(), secondName.length()) + 1, ' '));
System.out.print(methodOverloadsFirst.getKey());
System.out.print(" ");
System.out.println(overloadSecond);
System.out.println();
break;
}
Reported by PMD.
src/main/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableZip.java
69 issues
Line: 32
public final class FlowableZip<T, R> extends Flowable<R> {
final Publisher<? extends T>[] sources;
final Iterable<? extends Publisher<? extends T>> sourcesIterable;
final Function<? super Object[], ? extends R> zipper;
final int bufferSize;
final boolean delayError;
Reported by PMD.
Line: 33
public final class FlowableZip<T, R> extends Flowable<R> {
final Publisher<? extends T>[] sources;
final Iterable<? extends Publisher<? extends T>> sourcesIterable;
final Function<? super Object[], ? extends R> zipper;
final int bufferSize;
final boolean delayError;
public FlowableZip(Publisher<? extends T>[] sources,
Reported by PMD.
Line: 34
final Publisher<? extends T>[] sources;
final Iterable<? extends Publisher<? extends T>> sourcesIterable;
final Function<? super Object[], ? extends R> zipper;
final int bufferSize;
final boolean delayError;
public FlowableZip(Publisher<? extends T>[] sources,
Iterable<? extends Publisher<? extends T>> sourcesIterable,
Reported by PMD.
Line: 35
final Publisher<? extends T>[] sources;
final Iterable<? extends Publisher<? extends T>> sourcesIterable;
final Function<? super Object[], ? extends R> zipper;
final int bufferSize;
final boolean delayError;
public FlowableZip(Publisher<? extends T>[] sources,
Iterable<? extends Publisher<? extends T>> sourcesIterable,
Function<? super Object[], ? extends R> zipper,
Reported by PMD.
Line: 36
final Iterable<? extends Publisher<? extends T>> sourcesIterable;
final Function<? super Object[], ? extends R> zipper;
final int bufferSize;
final boolean delayError;
public FlowableZip(Publisher<? extends T>[] sources,
Iterable<? extends Publisher<? extends T>> sourcesIterable,
Function<? super Object[], ? extends R> zipper,
int bufferSize,
Reported by PMD.
Line: 38
final int bufferSize;
final boolean delayError;
public FlowableZip(Publisher<? extends T>[] sources,
Iterable<? extends Publisher<? extends T>> sourcesIterable,
Function<? super Object[], ? extends R> zipper,
int bufferSize,
boolean delayError) {
this.sources = sources;
Reported by PMD.
Line: 59
sources = new Publisher[8];
for (Publisher<? extends T> p : sourcesIterable) {
if (count == sources.length) {
Publisher<? extends T>[] b = new Publisher[count + (count >> 2)];
System.arraycopy(sources, 0, b, 0, count);
sources = b;
}
sources[count++] = p;
}
Reported by PMD.
Line: 81
coordinator.subscribe(sources, count);
}
static final class ZipCoordinator<T, R>
extends AtomicInteger
implements Subscription {
private static final long serialVersionUID = -2434867452883857743L;
Reported by PMD.
Line: 81
coordinator.subscribe(sources, count);
}
static final class ZipCoordinator<T, R>
extends AtomicInteger
implements Subscription {
private static final long serialVersionUID = -2434867452883857743L;
Reported by PMD.
Line: 87
private static final long serialVersionUID = -2434867452883857743L;
final Subscriber<? super R> downstream;
final ZipSubscriber<T, R>[] subscribers;
final Function<? super Object[], ? extends R> zipper;
Reported by PMD.
src/test/java/io/reactivex/rxjava3/internal/jdk8/ParallelMapOptionalTest.java
68 issues
Line: 32
import io.reactivex.rxjava3.schedulers.Schedulers;
import io.reactivex.rxjava3.testsupport.TestHelper;
public class ParallelMapOptionalTest extends RxJavaTest {
@Test
public void doubleFilter() {
Flowable.range(1, 10)
.parallel()
Reported by PMD.
Line: 35
public class ParallelMapOptionalTest extends RxJavaTest {
@Test
public void doubleFilter() {
Flowable.range(1, 10)
.parallel()
.mapOptional(Optional::of)
.filter(new Predicate<Integer>() {
@Override
Reported by PMD.
Line: 57
}
@Test
public void doubleFilterAsync() {
Flowable.range(1, 10)
.parallel()
.runOn(Schedulers.computation())
.mapOptional(Optional::of)
.filter(new Predicate<Integer>() {
Reported by PMD.
Line: 81
}
@Test
public void doubleError() {
List<Throwable> errors = TestHelper.trackPluginErrors();
try {
new ParallelInvalid()
.mapOptional(Optional::of)
.sequential()
Reported by PMD.
Line: 90
.test()
.assertFailure(TestException.class);
assertFalse(errors.isEmpty());
for (Throwable ex : errors) {
assertTrue(ex.toString(), ex.getCause() instanceof TestException);
}
} finally {
RxJavaPlugins.reset();
Reported by PMD.
Line: 100
}
@Test
public void doubleError2() {
List<Throwable> errors = TestHelper.trackPluginErrors();
try {
new ParallelInvalid()
.mapOptional(Optional::of)
.filter(Functions.alwaysTrue())
Reported by PMD.
Line: 110
.test()
.assertFailure(TestException.class);
assertFalse(errors.isEmpty());
for (Throwable ex : errors) {
assertTrue(ex.toString(), ex.getCause() instanceof TestException);
}
} finally {
RxJavaPlugins.reset();
Reported by PMD.
Line: 120
}
@Test
public void error() {
Flowable.error(new TestException())
.parallel()
.mapOptional(Optional::of)
.sequential()
.test()
Reported by PMD.
Line: 130
}
@Test
public void mapCrash() {
Flowable.just(1)
.parallel()
.mapOptional(v -> { throw new TestException(); })
.sequential()
.test()
Reported by PMD.
Line: 131
@Test
public void mapCrash() {
Flowable.just(1)
.parallel()
.mapOptional(v -> { throw new TestException(); })
.sequential()
.test()
.assertFailure(TestException.class);
Reported by PMD.
src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableSkipUntilTest.java
68 issues
Line: 27
import io.reactivex.rxjava3.testsupport.TestHelper;
public class ObservableSkipUntilTest extends RxJavaTest {
Observer<Object> observer;
@Before
public void before() {
observer = TestHelper.mockObserver();
}
Reported by PMD.
Line: 39
PublishSubject<Integer> source = PublishSubject.create();
PublishSubject<Integer> other = PublishSubject.create();
Observable<Integer> m = source.skipUntil(other);
m.subscribe(observer);
source.onNext(0);
source.onNext(1);
Reported by PMD.
Line: 40
PublishSubject<Integer> other = PublishSubject.create();
Observable<Integer> m = source.skipUntil(other);
m.subscribe(observer);
source.onNext(0);
source.onNext(1);
other.onNext(100);
Reported by PMD.
Line: 42
Observable<Integer> m = source.skipUntil(other);
m.subscribe(observer);
source.onNext(0);
source.onNext(1);
other.onNext(100);
source.onNext(2);
Reported by PMD.
Line: 43
m.subscribe(observer);
source.onNext(0);
source.onNext(1);
other.onNext(100);
source.onNext(2);
source.onNext(3);
Reported by PMD.
Line: 45
source.onNext(0);
source.onNext(1);
other.onNext(100);
source.onNext(2);
source.onNext(3);
source.onNext(4);
source.onComplete();
Reported by PMD.
Line: 47
other.onNext(100);
source.onNext(2);
source.onNext(3);
source.onNext(4);
source.onComplete();
verify(observer, never()).onError(any(Throwable.class));
Reported by PMD.
Line: 48
other.onNext(100);
source.onNext(2);
source.onNext(3);
source.onNext(4);
source.onComplete();
verify(observer, never()).onError(any(Throwable.class));
verify(observer, times(1)).onNext(2);
Reported by PMD.
Line: 49
source.onNext(2);
source.onNext(3);
source.onNext(4);
source.onComplete();
verify(observer, never()).onError(any(Throwable.class));
verify(observer, times(1)).onNext(2);
verify(observer, times(1)).onNext(3);
Reported by PMD.
Line: 50
source.onNext(2);
source.onNext(3);
source.onNext(4);
source.onComplete();
verify(observer, never()).onError(any(Throwable.class));
verify(observer, times(1)).onNext(2);
verify(observer, times(1)).onNext(3);
verify(observer, times(1)).onNext(4);
Reported by PMD.