### Question:
Minesweeper implements Field { @Override public boolean isGameOver() { return !sapper().isAlive(); } Minesweeper(Parameter<Integer> size, Parameter<Integer> minesCount, Parameter<Integer> detectorCharge,
                       MinesGenerator minesGenerator); @Override List<Point> getFreeCells(); @Override List<Point> getCells(); @Override int size(); @Override List<Mine> getMines(); @Override int getMinesCount(); @Override void sapperMoveTo(Direction direction); @Override boolean isSapperOnMine(); @Override Sapper sapper(); @Override boolean isMine(Point pt); @Override boolean walkAt(Point pt); @Override boolean isFlag(Point pt); @Override boolean isSapper(Point pt); @Override int minesNear(Point pt); @Override BoardReader reader(); @Override void newGame(Player player); @Override void remove(Player player); @Override Point getCellPossiblePosition(Direction direction); @Override Mine createMineOnPositionIfPossible(Point cell); @Override int getTurn(); @Override boolean isGameOver(); @Override int getMinesNearSapper(); @Override void useMineDetectorToGivenDirection(Direction direction); @Override boolean isEmptyDetectorButPresentMines(); @Override boolean isWin(); @Override void tick(); List<Wall> getWalls(); List<Flag> getFlags();  }### Answer:
@Test public void shouldDie_whenSapperAtBombs() { shouldBoardWith(new Sapper(2, 2), new Mine(3, 2)); moveRight(); assertBoard( "☼☼☼☼☼\n" + "☼ 11☼\n" + "☼ 1Ѡ☼\n" + "☼ 11☼\n" + "☼☼☼☼☼\n"); assertTrue(game.isGameOver()); }
@Test public void shouldPrintAllBombs_whenSapperAtBombs() { shouldBoardWith(new Sapper(2, 2), new Mine(3, 3), new Mine(3, 2), new Mine(3, 1), new Mine(2, 1), new Mine(2, 3)); unbombUp(); unbombDown(); unbombLeft(); moveRight(); assertBoard( "☼☼☼☼☼\n" + "☼ x☻☼\n" + "☼‼3Ѡ☼\n" + "☼ x☻☼\n" + "☼☼☼☼☼\n"); assertTrue(game.isGameOver()); }