@Test
    public void kingRookAndKnight() {
        Map<String, Integer> figureQuantityMap = new HashMap<>();
        figureQuantityMap.put(KING.toString(), 2);
        figureQuantityMap.put(ROOK.toString(), 2);
        figureQuantityMap.put(KNIGHT.toString(), 2);
        int dimension = 5;

        assertThat("all elements are not present on each board",
                prepareBoardsWithKingRookAndKnight(figureQuantityMap, dimension)
                .filter(board ->
                        !board.contains(QUEEN.getFigureAsString())
                                && !board.contains(BISHOP.getFigureAsString())
                                && board.contains(KNIGHT.getFigureAsString())
                                && board.contains(FIELD_UNDER_ATTACK_STRING)
                                && leftOnlyFigures(board).length() > 5)
                .map(e -> 1)
                .reduce(0, (x, y) -> x + y), is(1156));
    }