-
Notifications
You must be signed in to change notification settings - Fork 2
/
MusicPlayerSupplierTest.java
39 lines (27 loc) · 1.44 KB
/
MusicPlayerSupplierTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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.addMusicPlayer(Application.PANDORABOY, pandoraPlayer);
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);
testClass.setCurrentApplication(Application.PANDORABOY);
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);
}
}