/** Test method for {@link AbstractMediaRouteController#shouldResetState(MediaStateListener)}. */ @Test @Feature({"MediaRemote"}) public void testShouldResetState() { AbstractMediaRouteController mediaRouteCtrl = new DummyMediaRouteController(); MediaStateListener listener = mock(MediaStateListener.class); mediaRouteCtrl.setMediaStateListener(null); assertTrue(mediaRouteCtrl.shouldResetState(null)); assertTrue(mediaRouteCtrl.shouldResetState(mock(MediaStateListener.class))); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_PLAYING); assertFalse(mediaRouteCtrl.shouldResetState(null)); assertTrue(mediaRouteCtrl.shouldResetState(mock(MediaStateListener.class))); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_FINISHED); mediaRouteCtrl.setMediaStateListener(listener); assertTrue(mediaRouteCtrl.shouldResetState(null)); assertTrue(mediaRouteCtrl.shouldResetState(mock(MediaStateListener.class))); assertTrue(mediaRouteCtrl.shouldResetState(listener)); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_PLAYING); assertTrue(mediaRouteCtrl.shouldResetState(null)); assertTrue(mediaRouteCtrl.shouldResetState(mock(MediaStateListener.class))); assertFalse(mediaRouteCtrl.shouldResetState(listener)); }
/** * Test method for {@link AbstractMediaRouteController#isPlaying()}. * * <p>Checks that it returns the correct value for all possible playback states. */ @Test @Feature({"MediaRemote"}) public void testIsPlaying() { // Using a spy here to override some methods. AbstractMediaRouteController mediaRouteCtrl = spy(new DummyMediaRouteController()); // Default assertFalse(mediaRouteCtrl.isPlaying()); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_BUFFERING); assertTrue(mediaRouteCtrl.isPlaying()); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_CANCELED); assertFalse(mediaRouteCtrl.isPlaying()); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_ERROR); assertFalse(mediaRouteCtrl.isPlaying()); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_FINISHED); assertFalse(mediaRouteCtrl.isPlaying()); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_INVALIDATED); assertFalse(mediaRouteCtrl.isPlaying()); doReturn(0L).when(mediaRouteCtrl).getPosition(); doReturn(5000L).when(mediaRouteCtrl).getDuration(); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_PAUSED); assertFalse(mediaRouteCtrl.isPlaying()); doReturn(5000L).when(mediaRouteCtrl).getPosition(); doReturn(5000L).when(mediaRouteCtrl).getDuration(); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_PAUSED); assertFalse(mediaRouteCtrl.isPlaying()); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_PENDING); assertFalse(mediaRouteCtrl.isPlaying()); mediaRouteCtrl.setPlayerStateForMediaItemState(MediaItemStatus.PLAYBACK_STATE_PLAYING); assertTrue(mediaRouteCtrl.isPlaying()); }