@Test
    public void testInnerJoin() {
        BiPredicate<Object, Object> TRUE = (t, u) -> true;

        assertEquals(asList(),
            Seq.of().innerJoin(Seq.of(), TRUE).toList());
        assertEquals(asList(),
            Seq.of().innerJoin(Seq.of(1), TRUE).toList());
        assertEquals(asList(),
            Seq.of().innerJoin(Seq.of(1, 2), TRUE).toList());

        assertEquals(asList(),
            Seq.<Object>of(1).innerJoin(Seq.of(), TRUE).toList());
        assertEquals(asList(),
            Seq.of(1).innerJoin(Seq.of(2), (t, u) -> t == u).toList());
        assertEquals(asList(
            tuple(1, 2)),
            Seq.of(1).innerJoin(Seq.of(2), (t, u) -> t * 2 == u).toList());
        assertEquals(asList(
            tuple(1, 1)),
            Seq.of(1).innerJoin(Seq.of(1, 2), (t, u) -> t == u).toList());
        assertEquals(asList(
            tuple(1, 2)),
            Seq.of(1).innerJoin(Seq.of(1, 2), (t, u) -> t * 2 == u).toList());
        assertEquals(asList(
            tuple(1, 1),
            tuple(1, 2)),
            Seq.<Object>of(1).innerJoin(Seq.of(1, 2), TRUE).toList());

        verifyIteratorValidity(3, Seq.of(1, 2, 3), seq -> seq.innerJoin(Seq.of("A", "B"), TRUE));
    }
@author Lukas Eder
@author Roman Tkalenko
jOOL/src/test/java/org/jooq/lambda/SeqTest.java