AudioPlayerViewModel extends ViewModel implements MediaPlayer.OnCompletionListener { public void background() { cleanUpAfterClip(); releaseMediaPlayer(); } 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 background_releasesMediaPlayer() { viewModel.background(); verify(mediaPlayer).release(); }
@Test public void background_cancelsScheduler() { viewModel.background(); assertThat(fakeScheduler.isCancelled(), equalTo(true)); }