@TestFactory
Stream<DynamicTest> factorial() {

    return IntStream.range(0, 10)
        .mapToObj(i ->
            DynamicTest.dynamicTest("factorial(" + i + ")",
                () -> {
                    assertEquals(Permutation.factorial(i), fac(i));
                })
        );
}