@Override public void onPrepared(PlayerState playerState) { loadTimeout.cancel(); mediaPlayer.setOnSeekCompleteListener(seekToResettingSeekListener); } });
@Test public void givenInitialised_whenCallingOnPrepared_thenSetsOnSeekCompleteListener() { player.initialise(); ArgumentCaptor<NoPlayer.PreparedListener> preparedListenerCaptor = ArgumentCaptor.forClass(NoPlayer.PreparedListener.class); verify(listenersHolder).addPreparedListener(preparedListenerCaptor.capture()); NoPlayer.PreparedListener preparedListener = preparedListenerCaptor.getValue(); preparedListener.onPrepared(player); verify(mediaPlayer).setOnSeekCompleteListener(any(MediaPlayer.OnSeekCompleteListener.class)); }
@Test public void whenSettingOnSeekCompleteListener_thenSetsOnSeekCompleteListener() { givenMediaPlayerIsPrepared(); MediaPlayer.OnSeekCompleteListener onSeekCompleteListener = mock(MediaPlayer.OnSeekCompleteListener.class); facade.setOnSeekCompleteListener(onSeekCompleteListener); verify(mediaPlayer).setOnSeekCompleteListener(onSeekCompleteListener); }
@Test public void givenMediaPlayerIsNotInPlaybackState_whenSettingOnSeekCompleteListener_thenThrowsIllegalStateException() { thrown.expect(ExceptionMatcher.matches(ERROR_MESSAGE, IllegalStateException.class)); given(playbackStateChecker.isInPlaybackState(eq(mediaPlayer), any(PlaybackStateChecker.PlaybackState.class))) .willReturn(IS_NOT_IN_PLAYBACK_STATE); facade.setOnSeekCompleteListener(mock(MediaPlayer.OnSeekCompleteListener.class)); }