@DataProvider(name = "expectedDistribution") public Object[][] expectedDistribution() { final String resource = "/org/jenetics/selector/distribution/TournamentSelector"; return Arrays.stream(Optimize.values()) .flatMap( opt -> { final TestData data = TestData.of(resource, opt.toString()); final double[][] csv = data.stream().map(TestData::toDouble).toArray(double[][]::new); final int[] sizes = TestData.toInt(csv[0]); return IntStream.range(0, sizes.length) .mapToObj( i -> new Object[] { sizes[i], Named.of(format("distribution[%d]", sizes[i]), expected(csv, i)), opt }); }) .toArray(Object[][]::new); }