package com.sleazyweasel.applescriptifier;
import org.junit.Test;
import static org.mockito.Mockito.*;
public class MusicPlayerSupplierTest {
@Test
public void testListeners() throws Exception {
MusicPlayer rdioPlayer = mock(MusicPlayer.class);
MusicPlayer pandoraPlayer = mock(MusicPlayer.class);
MusicPlayer.MusicPlayerStateChangeListener listener = mock(MusicPlayer.MusicPlayerStateChangeListener.class);
MusicPlayerSupplier testClass = new MusicPlayerSupplier();
testClass.addMusicPlayer(Application.RDIO(), rdioPlayer);
testClass.setCurrentApplication(Application.RDIO());
verify(rdioPlayer, never()).addListener(any(MusicPlayer.MusicPlayerStateChangeListener.class));
verify(pandoraPlayer, never()).addListener(any(MusicPlayer.MusicPlayerStateChangeListener.class));
testClass.addListener(listener);
verify(rdioPlayer).addListener(listener);
verify(rdioPlayer).removeListener(listener);
verify(pandoraPlayer).addListener(listener);
testClass.setCurrentApplication(Application.RDIO());
verify(pandoraPlayer).removeListener(listener);
verify(rdioPlayer, times(2)).addListener(listener);
testClass.removeListener(listener);
verify(rdioPlayer, times(2)).removeListener(listener);
}
}