@Test
    public void placeFiguresKnight() {
        HashMap<String, Integer> figureQuantityMap = new HashMap<>();
        figureQuantityMap.put(KNIGHT.toString(), 4);

        FiguresChain figuresChain = new Knight(figureQuantityMap);

        Set<String> objects = new HashSet<>();
        objects.add(EMPTY_BOARD_SIZE_6);
        Set<String> boards = figuresChain.placeFigures(objects.stream()).collect(Collectors.toSet());
        assertThat("figures are standing on different places", boards.contains("nnnn..\n" +
                                                                                      "xxxxxx\n" +
                                                                                      "xxxxx.\n" +
                                                                                      "......\n" +
                                                                                      "......\n" +
                                                                                      "......\n"), is(true));

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