### Question:
DefaultMediaClock implements MediaClock { @Override public PlaybackParameters setPlaybackParameters(PlaybackParameters playbackParameters) { if (rendererClock != null) { playbackParameters = rendererClock.setPlaybackParameters(playbackParameters); } standaloneMediaClock.setPlaybackParameters(playbackParameters); listener.onPlaybackParametersChanged(playbackParameters); return playbackParameters; } DefaultMediaClock(PlaybackParameterListener listener, Clock clock); void start(); void stop(); void resetPosition(long positionUs); void onRendererEnabled(Renderer renderer); void onRendererDisabled(Renderer renderer); long syncAndGetPositionUs(); @Override long getPositionUs(); @Override PlaybackParameters setPlaybackParameters(PlaybackParameters playbackParameters); @Override PlaybackParameters getPlaybackParameters();  }### Answer:
@Test public void standaloneSetPlaybackParameters_shouldTriggerCallback() { mediaClock.setPlaybackParameters(TEST_PLAYBACK_PARAMETERS); verify(listener).onPlaybackParametersChanged(TEST_PLAYBACK_PARAMETERS); }
@Test public void standaloneSetOtherPlaybackParameters_shouldTriggerCallbackAgain() { mediaClock.setPlaybackParameters(TEST_PLAYBACK_PARAMETERS); mediaClock.setPlaybackParameters(PlaybackParameters.DEFAULT); verify(listener).onPlaybackParametersChanged(PlaybackParameters.DEFAULT); }
@Test public void standaloneSetSamePlaybackParametersAgain_shouldTriggerCallbackAgain() { mediaClock.setPlaybackParameters(TEST_PLAYBACK_PARAMETERS); mediaClock.setPlaybackParameters(TEST_PLAYBACK_PARAMETERS); verify(listener, times(2)).onPlaybackParametersChanged(TEST_PLAYBACK_PARAMETERS); }