### Question:
Board extends AbstractBoard<Elements> { @Override public String toString() { return String.format("%s\n" + "Bomberman at: %s\n" + "Other bombermans at: %s\n" + "Meat choppers at: %s\n" + "Destroy walls at: %s\n" + "Bombs at: %s\n" + "Blasts: %s\n" + "Expected blasts at: %s", boardAsString(), getBomberman(), getOtherBombermans(), getMeatChoppers(), getDestroyableWalls(), getBombs(), getBlasts(), getFutureBlasts()); }  @Override Elements valueOf(char ch); Elements getAt(int x, int y); Collection<Point> getBarriers(); @Override String toString(); Point getBomberman(); Collection<Point> getOtherBombermans(); boolean isMyBombermanDead(); Collection<Point> getMeatChoppers(); Collection<Point> getWalls(); Collection<Point> getDestroyableWalls(); Collection<Point> getBombs(); Collection<Point> getPerks(); Collection<Point> getBlasts(); Collection<Point> getFutureBlasts(); boolean isBarrierAt(int x, int y); boolean isBarrierAt(Point point); static final char ANY_CHAR; }### Answer:
@Test public void shouldWorkToString() { assertEquals( "☼☼☼☼☼☼☼☼☼\n" + "☼1 ♣ ♠☼\n" + "☼#2 & ☼\n" + "☼# 3 ♣ ♠☼\n" + "☼☺ 4 ☼\n" + "☼ ♥ H☻☼\n" + "☼x H ҉҉҉☼\n" + "☼& & ☼\n" + "☼☼☼☼☼☼☼☼☼\n" + "\n" + "Bomberman at: [1,4]\n" + "Other bombermans at: [[3,7], [4,3], [5,5], [7,5], [7,7]]\n" + "Meat choppers at: [[1,1], [3,1], [5,6]]\n" + "Destroy walls at: [[1,5], [1,6]]\n" + "Bombs at: [[1,7], [2,6], [3,5], [4,4], [7,3], [7,5], [7,7]]\n" + "Blasts: [[5,2], [6,2], [7,2]]\n" + "Expected blasts at: [[1,6], [1,7], [2,5], [2,6], " + "[2,7], [3,4], [3,5], [3,6], [4,3], [4,4], [4,5], " + "[5,4], [6,3], [6,5], [6,7], [7,2], [7,3], [7,4], " + "[7,5], [7,6], [7,7]]", board.toString()); }