Index: /trunk/scripts/audio_systest.xml
===================================================================
--- /trunk/scripts/audio_systest.xml	(revision 2)
+++ /trunk/scripts/audio_systest.xml	(revision 4)
@@ -6,5 +6,5 @@
 
 	<SCRIPT_EVENT>
-		<TIME_INDEX>00:00:10</TIME_INDEX>
+		<TIME_INDEX>00:00:03</TIME_INDEX>
 		<INCIDENT LogNum="187">Stalled DOT/Traffic Collision</INCIDENT>	
 		
@@ -12,9 +12,9 @@
 			<CAD_INCIDENT_EVENT>
 				<UNIT UnitNum="14-14" Status="ENRT" Primary="true" Active="true"/>
-				<AUDIO Length = "25" Path = "187/18701.wav" />	
+				<AUDIO Length = "25" Path = "187/18701.mp3" />	
 			</CAD_INCIDENT_EVENT>		
 		</CAD_DATA>		
 
-		<CHP_RADIO RadioFile="18701.wav">
+		<CHP_RADIO RadioFile="18701.mp3">
 			<DIALOG>
 				<LINE Role="Dispatch">14-14 Santa Lucia</LINE>				
Index: /trunk/test/tmcsim/cadsimulator/CADSimulatorTest.java
===================================================================
--- /trunk/test/tmcsim/cadsimulator/CADSimulatorTest.java	(revision 4)
+++ /trunk/test/tmcsim/cadsimulator/CADSimulatorTest.java	(revision 4)
@@ -0,0 +1,166 @@
+package tmcsim.cadsimulator;
+
+import java.rmi.RemoteException;
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.fail;
+import org.uispec4j.*;
+import org.uispec4j.interception.WindowInterceptor;
+import tmcsim.client.CADClient;
+import tmcsim.client.cadclientgui.data.Incident;
+import tmcsim.client.cadclientgui.data.IncidentEvent;
+import tmcsim.common.CADEnums;
+import tmcsim.common.SimulationException;
+import tmcsim.interfaces.CADClientInterface;
+import tmcsim.interfaces.SimulationManagerInterface;
+
+/**
+ * Test of CADSimulator GUI
+ *
+ * @author jdalbey
+ */
+public class CADSimulatorTest extends UISpecTestCase
+{
+
+    public CADSimulatorTest(String testName)
+    {
+        super(testName);
+    }
+
+    /**
+     * Test of getCADTime method, of class CADSimulator.
+     */
+    public void testGetCADTime()
+    {
+        System.out.println("getCADTime");
+        String result = CADSimulator.getCADTime();
+        // Just test length for now
+        assertEquals(4, result.length());
+    }
+
+    /**
+     * Test of getCADDate method, of class CADSimulator.
+     */
+    public void testGetCADDate()
+    {
+        System.out.println("getCADDate");
+        String result = CADSimulator.getCADDate();
+        // Just test length for now
+        assertEquals(6, result.length());
+    }
+    /**
+     * Test of main method, of class CADSimulator.
+     */
+    CADSimulator app;
+
+    public void testConstructor() throws SimulationException, RemoteException
+    {
+        System.out.println("CADSimulator constructor");
+        System.setProperty("CAD_SIM_PROPERTIES", "config/cad_simulator_config.properties");
+        Window cadwindow = null;
+        if (System.getProperty("CAD_SIM_PROPERTIES") != null)
+        {
+            cadwindow = WindowInterceptor.run(new Trigger()
+            {
+                public void run()
+                {
+                    try
+                    {
+                        app = new CADSimulator(System.getProperty("CAD_SIM_PROPERTIES"));
+                    } catch (Exception e)
+                    {
+                        fail("Couldn't launch CADSimulator");
+                    }
+                }
+            });
+        } else
+        {
+            fail("CAD_SIM_PROPERTIES system property not defined.");
+        }
+        assertEquals("CAD Simulator", cadwindow.getTitle());
+        Panel mainPanel = cadwindow.getPanel("contentPane");
+        TextBox txtStatus = mainPanel.getTextBox("simulationStatus");
+        assertEquals("No Script", txtStatus.getText());
+        TextBox terminals = mainPanel.getTextBox("termConnectedTF");
+        assertEquals("0", terminals.getText().trim());
+        assertEquals("No", mainPanel.getTextBox("managerConnectedTF").getText().trim());
+
+        CADClientInterface ci = new CADSimulatorTest.FakeClient();
+        app.theCoordinator.registerForCallback(ci);
+        assertEquals("1", terminals.getText().trim());
+        app.theCoordinator.registerForCallback(ci);
+        assertEquals("2", terminals.getText().trim());
+        
+        SimulationManagerInterface si = new CADSimulatorTest.FakeSimMgr();
+        app.theCoordinator.registerForCallback(si);
+        assertEquals("Yes", mainPanel.getTextBox("managerConnectedTF").getText().trim());
+        
+        app = null;
+//        app.theViewer.dispose();
+//        Window confirmPopup = null;
+//        confirmPopup = WindowInterceptor.run(new Trigger()
+//        {
+//            public void run()
+//            {
+//                app.theViewer.closeViewer();
+//            }
+//        });
+//        confirmPopup.getButton("OK").click();
+    }
+
+    class FakeClient implements CADClientInterface 
+    {
+        @Override
+        public void refresh() throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+    
+    }
+    class FakeSimMgr implements SimulationManagerInterface
+    {
+        @Override
+        public void tick(long theTime) throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+
+        @Override
+        public void eventOccured(Integer logNumber, IncidentEvent theEvent) throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+
+        @Override
+        public void incidentAdded(Incident newIncident) throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+
+        @Override
+        public void incidentStarted(Integer logNumber) throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+
+        @Override
+        public void incidentRemoved(Integer logNumber) throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+
+        @Override
+        public void setScriptStatus(CADEnums.SCRIPT_STATUS newStatus) throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+
+        @Override
+        public void setParamicsStatus(CADEnums.PARAMICS_STATUS newStatus) throws RemoteException
+        {
+            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+        }
+    
+    }
+    
+    
+}
Index: /trunk/IDE_metadata/NetBeans/TMCSim/nbproject/project.properties
===================================================================
--- /trunk/IDE_metadata/NetBeans/TMCSim/nbproject/project.properties	(revision 2)
+++ /trunk/IDE_metadata/NetBeans/TMCSim/nbproject/project.properties	(revision 4)
@@ -28,4 +28,5 @@
 endorsed.classpath=
 excludes=
+file.reference.mp3plugin.jar=../../../lib/mp3plugin.jar
 file.reference.tmc-simulator-src=../../../src
 file.reference.tmc-simulator-test=../../../test
@@ -36,5 +37,6 @@
 javac.classpath=\
     ${file.reference.xercesImpl.jar}:\
-    ${file.reference.uispec4j-jdk17.jar}
+    ${file.reference.uispec4j-jdk17.jar}:\
+    ${file.reference.mp3plugin.jar}
 # Space-separated list of extra javac options
 javac.compilerargs=
