### Question:
Board extends AbstractBoard<Elements> { public Elements getAt(int x, int y) { if (isOutOfField(x, y)) { return WALL; } return super.getAt(x, y); }  @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 shouldWork_getAt() { assertEquals(Elements.BOMB_BOMBERMAN, board.getAt(7, 3)); assertEquals(Elements.WALL, board.getAt(0, 8)); assertEquals(Elements.MEAT_CHOPPER, board.getAt(5, 6)); }
@Test public void shouldWork_getAt_point() { assertEquals(Elements.BOMB_BOMBERMAN, board.getAt(pt(7, 3))); assertEquals(Elements.WALL, board.getAt(pt(0, 8))); assertEquals(Elements.MEAT_CHOPPER, board.getAt(pt(5, 6))); }
@Test public void shouldWork_getAt_outOfBoard() { assertEquals(Elements.WALL, board.getAt(-1, 1)); assertEquals(Elements.WALL, board.getAt(1, -1)); assertEquals(Elements.WALL, board.getAt(100, 1)); assertEquals(Elements.WALL, board.getAt(1, 100)); assertEquals(Elements.WALL, board.getAt(pt(-1, 1))); assertEquals(Elements.WALL, board.getAt(pt(1, -1))); assertEquals(Elements.WALL, board.getAt(pt(100, 1))); assertEquals(Elements.WALL, board.getAt(pt(1, 100))); }