Mockito.verifyZeroInteractions(e1); scheduler.advanceBy(1); Mockito.verify(e1).run(mediaPlayer, shadowMediaPlayer);
@Override public void run(MediaPlayer mp, ShadowMediaPlayer smp) { for (MediaEvent e : this) { e.run(mp, smp); } } }
@Override public void handleMessage(Message msg) { switch (msg.what) { case MEDIA_EVENT: MediaEvent e = (MediaEvent) msg.obj; e.run(player, ShadowMediaPlayer.this); scheduleNextPlaybackEvent(); break; } } };
@Override public void run(MediaPlayer mp, ShadowMediaPlayer smp) { for (MediaEvent e : this) { e.run(mp, smp); } } }
@Override public void handleMessage(Message msg) { switch (msg.what) { case MEDIA_EVENT: MediaEvent e = (MediaEvent)msg.obj; e.run(player, ShadowMediaPlayer.this); scheduleNextPlaybackEvent(); break; } } };
@Override public void handleMessage(Message msg) { switch (msg.what) { case MEDIA_EVENT: MediaEvent e = (MediaEvent)msg.obj; e.run(player, ShadowMediaPlayer.this); scheduleNextPlaybackEvent(); break; } } };
@Override public void handleMessage(Message msg) { switch (msg.what) { case MEDIA_EVENT: MediaEvent e = (MediaEvent)msg.obj; e.run(player, ShadowMediaPlayer.this); scheduleNextPlaybackEvent(); break; } } };
@Override public void run(MediaPlayer mp, ShadowMediaPlayer smp) { for (MediaEvent e : this) { e.run(mp, smp); } } }
@Override public void run(MediaPlayer mp, ShadowMediaPlayer smp) { for (MediaEvent e : this) { e.run(mp, smp); } } }
@Test public void testSimulatenousEventsAllRun() { // Simultaneous events should all run even if // one of them stops playback. MediaEvent e1 = new MediaEvent() { @Override public void run(MediaPlayer mp, ShadowMediaPlayer smp) { smp.doStop(); } }; MediaEvent e2 = Mockito.mock(MediaEvent.class); info.scheduleEventAtOffset(100, e1); info.scheduleEventAtOffset(100, e2); shadowMediaPlayer.setState(INITIALIZED); shadowMediaPlayer.doStart(); scheduler.advanceBy(100); // Verify that the first event ran assertThat(shadowMediaPlayer.isReallyPlaying()).isFalse(); Mockito.verify(e2).run(mediaPlayer, shadowMediaPlayer); }
@Override public void handleMessage(Message msg) { switch (msg.what) { case MEDIA_EVENT: MediaEvent e = (MediaEvent) msg.obj; e.run(player, ShadowMediaPlayer.this); scheduleNextPlaybackEvent(); break; } } };
@Override public void run(MediaPlayer mp, ShadowMediaPlayer smp) { for (MediaEvent e : this) { e.run(mp, smp); } } }