/** 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)); }