source: tmcsimulator/trunk/test/tmcsim/cadsimulator/SoundPlayerTest.java @ 16

Revision 16, 2.8 KB checked in by jdalbey, 10 years ago (diff)

Added SoundPlayerTest?, fixed defect in SoundPlayer?, update 18701.mp3 to a version that works with SoundPlayer?. Change .wav to .mp3 in full_script.

Line 
1package tmcsim.cadsimulator;
2
3import java.util.Vector;
4import java.util.logging.Level;
5import java.util.logging.Logger;
6import static junit.framework.Assert.assertEquals;
7import static junit.framework.Assert.assertFalse;
8import junit.framework.TestCase;
9import tmcsim.client.cadclientgui.data.IncidentEvent;
10
11/**
12 *
13 * @author jdalbey
14 */
15public class SoundPlayerTest extends TestCase
16{
17
18    SoundPlayer player;
19
20    public SoundPlayerTest(String testName)
21    {
22        super(testName);
23    }
24
25    @Override
26    protected void setUp() throws Exception
27    {
28        super.setUp();
29    }
30
31    /**
32     * Test of run method, of class SoundPlayer.
33     */
34    public void testRun()
35    {
36        System.out.println("run");
37        Vector dummy = new Vector();
38        IncidentEvent evt1 = new IncidentEvent(0, null, "frog-croak.mp3", 2, dummy, dummy);
39        IncidentEvent evt2 = new IncidentEvent(0, null, "bikehorn.mp3", 1, dummy, dummy);
40        player = new SoundPlayer("test/resources/");
41        player.start();
42        player.enqueueClip(evt1);
43        player.enqueueClip(evt2);
44        try
45        {
46            Thread.sleep(5000);
47        } catch (InterruptedException ex)
48        {
49            Logger.getLogger(SoundPlayerTest.class.getName()).log(Level.SEVERE, null, ex);
50        }
51        assertEquals(".wav didn't complete playing", IncidentEvent.EVENT_STATUS.COMPLETED, evt2.eventStatus);
52    }
53
54    public void testEnqueueClip()
55    {
56        System.out.println("enqueueClip");
57        Vector dummy = new Vector();
58        IncidentEvent evt1 = new IncidentEvent(0, null, "frog-croak.mp3", 4, dummy, dummy);
59        player = new SoundPlayer("test/resources/");
60        player.setAudioEnabled(false);
61        player.start();
62        player.enqueueClip(evt1);
63        // Note: we don't wait for the clip to complete.
64        // So if audio is disabled, the clip will get marked complete without being played.
65        assertEquals(".wav played when audio disabled", IncidentEvent.EVENT_STATUS.COMPLETED, evt1.eventStatus);
66    }
67
68    public void testDeQueueAll()
69    {
70        System.out.println("deQueueAll");
71        Vector dummy = new Vector();
72        IncidentEvent evt1 = new IncidentEvent(0, null, "bikehorn.mp3", 1, dummy, dummy);
73        IncidentEvent evt2 = new IncidentEvent(0, null, "bikehorn.mp3", 2, dummy, dummy);
74        player = new SoundPlayer("test/resources/");
75        player.start();
76        player.enqueueClip(evt1);
77        player.enqueueClip(evt2);
78        player.deQueueAll();
79        try
80        {
81            Thread.sleep(2000);
82        } catch (InterruptedException ex)
83        {
84            Logger.getLogger(SoundPlayerTest.class.getName()).log(Level.SEVERE, null, ex);
85        }
86        assertFalse(".wav played after dequeue all", IncidentEvent.EVENT_STATUS.COMPLETED == evt2.eventStatus);
87    }
88}
Note: See TracBrowser for help on using the repository browser.