### Question:
Levels implements GlassEventListener { @Override public void figureDropped(Type figureType) { applyLevelIfAccepted(new GlassEvent<>(GlassEvent.Type.FIGURE_DROPPED, figureType)); } Levels(GameLevel ... levels); @Override void glassOverflown(); GameLevel getNextLevel(); @Override void linesRemoved(int amount); @Override void figureDropped(Type figureType); GameLevel getCurrentLevel(); int getCurrentLevelNumber(); void onChangeLevel(ChangeLevelListener listener); int totalRemovedLines(); void clearScore();  }### Answer:
@Test public void shouldCallChangeEventListenerWhenLevelChanged() { verify(levelChangedListener).levelChanged(0, level0); acceptLevels(true, false); levels.figureDropped(new FigureImpl().type()); verify(levelChangedListener).levelChanged(1, level1); verifyNoMoreInteractions(levelChangedListener); }