### Question:
Bomberman extends RoundField<Player> implements Field { @Override public List<Blast> blasts() { return blasts; } 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 shouldChangeBlast_whenUseBoardApi() { hero.act(); hero.right(); field.tick(); hero.right(); field.tick(); field.tick(); field.tick(); field.tick(); List<Blast> blasts1 = field.blasts(); List<Blast> blasts2 = field.blasts(); List<Blast> blasts3 = field.blasts(); assertSame(blasts1, blasts2); assertSame(blasts2, blasts3); assertSame(blasts3, blasts1); Point blast11 = blasts1.get(0); Point blast12 = blasts2.get(0); Point blast13 = blasts3.get(0); assertSame(blast11, blast12); assertSame(blast12, blast13); assertSame(blast13, blast11); Point blast21 = blasts1.get(1); Point blast22 = blasts2.get(1); Point blast23 = blasts3.get(1); assertSame(blast21, blast22); assertSame(blast22, blast23); assertSame(blast23, blast21); }