The following issues were found

src/test/java/io/reactivex/rxjava3/tck/UnicastProcessorTckTest.java
2 issues
Avoid unused imports such as 'org.reactivestreams'
Design

Line: 18

              
import java.util.concurrent.*;

import org.reactivestreams.*;
import org.reactivestreams.tck.*;
import org.testng.annotations.Test;

import io.reactivex.rxjava3.exceptions.TestException;
import io.reactivex.rxjava3.processors.UnicastProcessor;

            

Reported by PMD.

Avoid unused imports such as 'org.reactivestreams.tck'
Design

Line: 19

              import java.util.concurrent.*;

import org.reactivestreams.*;
import org.reactivestreams.tck.*;
import org.testng.annotations.Test;

import io.reactivex.rxjava3.exceptions.TestException;
import io.reactivex.rxjava3.processors.UnicastProcessor;


            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/internal/subscriptions/ScalarSubscriptionTest.java
2 issues
JUnit tests should include assert() or fail()
Design

Line: 28

              public class ScalarSubscriptionTest extends RxJavaTest {

    @Test
    public void badRequest() {
        TestSubscriber<Integer> ts = new TestSubscriber<>(0L);

        ScalarSubscription<Integer> sc = new ScalarSubscription<>(ts, 1);

        List<Throwable> errors = TestHelper.trackPluginErrors();

            

Reported by PMD.

JUnit tests should include assert() or fail()
Design

Line: 44

                  }

    @Test
    public void noOffer() {
        TestSubscriber<Integer> ts = new TestSubscriber<>(0L);

        ScalarSubscription<Integer> sc = new ScalarSubscription<>(ts, 1);

        TestHelper.assertNoOffer(sc);

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/ElementAtTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).elementAt(5).toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).elementAt(5).toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/FirstTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).firstElement().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).firstElement().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/FromFutureTckTest.java
2 issues
Found 'DU'-anomaly for variable 'ft' (lines '28'-'37').
Error

Line: 28

              
    @Override
    public Publisher<Long> createPublisher(final long elements) {
        FutureTask<Long> ft = new FutureTask<>(new Callable<Long>() {
            @Override
            public Long call() throws Exception {
                return 1L;
            }
        });

            

Reported by PMD.

Found 'DU'-anomaly for variable 'ft' (lines '28'-'37').
Error

Line: 28

              
    @Override
    public Publisher<Long> createPublisher(final long elements) {
        FutureTask<Long> ft = new FutureTask<>(new Callable<Long>() {
            @Override
            public Long call() throws Exception {
                return 1L;
            }
        });

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/IgnoreElementsTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).ignoreElements().<Integer>toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 1000).ignoreElements().<Integer>toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/IntervalTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 33

                  @Override
    public Publisher<Long> createPublisher(long elements) {
        return
            Flowable.interval(0, 1, TimeUnit.MILLISECONDS).take(elements)
            .onBackpressureBuffer()
        ;
    }
}

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 33

                  @Override
    public Publisher<Long> createPublisher(long elements) {
        return
            Flowable.interval(0, 1, TimeUnit.MILLISECONDS).take(elements)
            .onBackpressureBuffer()
        ;
    }
}

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/IsEmptyTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Boolean> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).isEmpty().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Boolean> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).isEmpty().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/LastTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).lastElement().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Integer> createPublisher(final long elements) {
        return
                Flowable.range(1, 10).lastElement().toFlowable()
            ;
    }

    @Override
    public long maxElementsFromPublisher() {

            

Reported by PMD.

src/test/java/io/reactivex/rxjava3/tck/MergeWithCompletableTckTest.java
2 issues
Potential violation of Law of Demeter (method chain calls)
Design

Line: 27

                  @Override
    public Publisher<Long> createPublisher(long elements) {
        return
            Flowable.rangeLong(1, elements)
            .mergeWith(Completable.complete())
        ;
    }
}

            

Reported by PMD.

Avoid unused imports such as 'io.reactivex.rxjava3.core'
Design

Line: 19

              import org.reactivestreams.Publisher;
import org.testng.annotations.Test;

import io.reactivex.rxjava3.core.*;

@Test
public class MergeWithCompletableTckTest extends BaseTck<Long> {

    @Override

            

Reported by PMD.