### Question:
AbstractLayeredBoard implements ClientBoard { protected E getAt(int numLayer, int x, int y) { return valueOf(field(numLayer, x, y)); }  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_getAt_layer1() { assertEquals(Elements.ONE, board.getAt(LAYER_1, 0, 0)); assertEquals(Elements.TWO, board.getAt(LAYER_1, 2, 1)); assertEquals(Elements.THREE, board.getAt(LAYER_1, 2, 2)); }
@Test public void shouldWork_getAt_layer2() { assertEquals(Elements.FOUR, board.getAt(LAYER_2, 2, 2)); assertEquals(Elements.NONE, board.getAt(LAYER_2, 1, 2)); }