AudioPlayerViewModel extends ViewModel implements MediaPlayer.OnCompletionListener { public void setPosition(String clipID, Integer newPosition) { if (isCurrentPlayingClip(clipID, currentlyPlaying.getValue())) { getMediaPlayer().seekTo(newPosition); } getPositionForClip(clipID).setValue(newPosition); } AudioPlayerViewModel(MediaPlayerFactory mediaPlayerFactory, Scheduler scheduler); void play(Clip clip); void playInOrder(List<Clip> clips); void stop(); void pause(); LiveData<Boolean> isPlaying(@NonNull String clipID); LiveData<Integer> getPosition(String clipID); void setPosition(String clipID, Integer newPosition); void background(); @Override void onCompletion(MediaPlayer mediaPlayer); LiveData<Exception> getError(); void dismissError();  }
@Test public void setPosition_whenClipIsNotPlaying_doesNothing() { viewModel.setPosition("clip1", 54321); verify(mediaPlayer, never()).seekTo(anyInt()); }