@Ignore
    @Test
    public void placeFiguresOnBoard() {
        Map<String, Integer> figureQuantityMap = new HashMap<>();
        figureQuantityMap.put(KING.toString(), 2);
        figureQuantityMap.put(QUEEN.toString(), 3);
        figureQuantityMap.put(BISHOP.toString(), 4);
        figureQuantityMap.put(ROOK.toString(), 5);
        figureQuantityMap.put(KNIGHT.toString(), 6);

        int dimension = 8;
        Chessboard chessboard = Chessboard.newBuilder(figureQuantityMap)
                                        .withDimension(dimension)
                                        .withKing()
                                        .withQueen()
                                        .withBishop()
                                        .withRook()
                                        .withKnight()
                                        .build();

        Set<String> boards = chessboard.placeFiguresOnEmptyBoard().collect(Collectors.toSet());
        assertThat("more than 1 figure is present",
                boards.contains("kxkxqxxx\n" +
                                "xxxxxxqx\n" +
                                "qxxxxxxx\n" +
                                "xxbbxbxx\n" +
                                "xxxxxbxr\n" +
                                "xxxxxxxx\n" +
                                "xxxxxxxx\n" +
                                "xxxrxxxx\n"), is(true));


        assertThat("all elements are not present on each board",
                boards.parallelStream()
                .filter(board -> board.contains(KING.getFigureAsString())
                                && board.contains(QUEEN.getFigureAsString())
                                && board.contains(BISHOP.getFigureAsString())
                                && board.contains(ROOK.getFigureAsString())
                                && board.contains(KNIGHT.getFigureAsString())
//                        && board.contains("x")
//                        && board.contains(".")
                                && leftOnlyFigures(board).length() == 20
                )
                .map(e -> 1)
                .reduce(0, (x, y) -> x + y), is(26133));
    }