@Test
    public void smallBoardSize3WithBishopAndRook() {
        Map<String, Integer> figureQuantityMap = new HashMap<>();
        figureQuantityMap.put(BISHOP.toString(), 1);
        figureQuantityMap.put(ROOK.toString(), 1);

        int dimension = 3;
        Set<String> boards = prepareBoardsWithBishopAndRook(figureQuantityMap, dimension);

        assertThat("more than 1 figure is present", boards.contains("bx.\n" +
                                                                           ".x.\n" +
                                                                           "xrx\n"), is(true));
        assertThat("more than 1 figure is present", boards.contains(".bx\n" +
                                                                           "xxr\n" +
                                                                           "..x\n"), is(false));
        assertThat("more than 1 figure is present", boards.contains(".xx\n" +
                                                                           "b.x\n" +
                                                                           "xxr\n"), is(true));

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