### Question:
AbstractLayeredBoard implements ClientBoard { @Override public String toString() { StringBuilder result = new StringBuilder("Board:"); for (int i = 0; i < countLayers(); i++) { result.append("\n").append(boardAsString(i)); } return result.toString(); }  ClientBoard forString(String boardString); ClientBoard forString(String... layers); abstract E valueOf(char ch); int size(); static Set<Point> removeDuplicates(Collection<Point> all); @Override String toString(); boolean isOutOfField(int x, int y); List<String> getLayersString(); void setSource(JSONObject source);  }### Answer:
@Test public void shouldWork_toString() { assertEquals( "Board:\n" + "1111\n" + "1221\n" + "1331\n" + "1111\n" + "\n" + " \n" + " 4 \n" + " 4 \n" + " \n", board.toString()); }
@Test public void shouldWork_toString_whenOneLayer() { board = board( "1111" + "1221" + "1331" + "1111"); assertEquals( "Board:\n" + "1111\n" + "1221\n" + "1331\n" + "1111\n", board.toString()); }