### Question:
Bomberman extends RoundField<Player> implements Field { @Override public Walls walls() { return walls; } Bomberman(GameSettings settings); GameSettings settings(); @Override List<PerkOnBoard> perks(); PerkOnBoard pickPerk(Point pt); @Override Dice dice(); @Override int size(); @Override void cleanStuff(); @Override void tickField(); @Override List<Bomb> bombs(); @Override List<Bomb> bombs(Hero hero); @Override List<Blast> blasts(); @Override void drop(Bomb bomb); @Override void remove(Bomb bomb); @Override void remove(Wall wall); @Override Walls walls(); @Override boolean isBarrier(Point pt, boolean isForHero); @Override List<Hero> heroes(boolean activeAliveOnly); void newGame(Player player); BoardReader reader(); static final boolean ACTIVE_ALIVE; static final boolean ALL; }### Answer:
@Test public void shouldChangeWall_whenUseBoardApi() { givenBoardWithWalls(); Walls walls1 = field.walls(); Walls walls2 = field.walls(); Walls walls3 = field.walls(); assertSame(walls1, walls2); assertSame(walls2, walls3); assertSame(walls3, walls1); Iterator<Wall> iterator1 = walls1.iterator(); Iterator<Wall> iterator2 = walls2.iterator(); Iterator<Wall> iterator3 = walls3.iterator(); Point wall11 = iterator1.next(); Point wall12 = iterator2.next(); Point wall13 = iterator3.next(); assertSame(wall11, wall12); assertSame(wall12, wall13); assertSame(wall13, wall11); Point wall21 = iterator1.next(); Point wall22 = iterator2.next(); Point wall23 = iterator3.next(); assertSame(wall21, wall22); assertSame(wall22, wall23); assertSame(wall23, wall21); }