| 1 | package tmcsim.cadsimulator.viewer.model; |
|---|
| 2 | |
|---|
| 3 | import java.util.Observable; |
|---|
| 4 | import java.util.Observer; |
|---|
| 5 | import static junit.framework.Assert.assertEquals; |
|---|
| 6 | import static junit.framework.Assert.assertFalse; |
|---|
| 7 | import junit.framework.TestCase; |
|---|
| 8 | import tmcsim.cadsimulator.viewer.DVDInfoPanel; |
|---|
| 9 | import java.util.Iterator; |
|---|
| 10 | import tmcsim.cadsimulator.videocontrol.DVDStatusUpdate; |
|---|
| 11 | import tmcsim.common.CADEnums; |
|---|
| 12 | |
|---|
| 13 | /** |
|---|
| 14 | * |
|---|
| 15 | * @author jdalbey |
|---|
| 16 | */ |
|---|
| 17 | public class CADSimulatorModelTest extends TestCase implements Observer |
|---|
| 18 | { |
|---|
| 19 | |
|---|
| 20 | private CADSimulatorState model; |
|---|
| 21 | private String currentTest; |
|---|
| 22 | |
|---|
| 23 | public CADSimulatorModelTest(String testName) |
|---|
| 24 | { |
|---|
| 25 | super(testName); |
|---|
| 26 | } |
|---|
| 27 | |
|---|
| 28 | public void setUp() |
|---|
| 29 | { |
|---|
| 30 | model = new CADSimulatorState(); |
|---|
| 31 | model.addObserver(this); |
|---|
| 32 | } |
|---|
| 33 | |
|---|
| 34 | /** |
|---|
| 35 | * Test of connectClient method, of class CADSimulatorStatus. |
|---|
| 36 | */ |
|---|
| 37 | public void testConnectClient() |
|---|
| 38 | { |
|---|
| 39 | currentTest = "connectClient"; |
|---|
| 40 | model.connectClient(); |
|---|
| 41 | } |
|---|
| 42 | |
|---|
| 43 | /** |
|---|
| 44 | * Test of disconnectClient method, of class CADSimulatorStatus. |
|---|
| 45 | */ |
|---|
| 46 | public void testDisconnectClient() |
|---|
| 47 | { |
|---|
| 48 | currentTest = "doNothing"; |
|---|
| 49 | model.connectClient(); |
|---|
| 50 | model.connectClient(); |
|---|
| 51 | currentTest = "disconnectClient"; |
|---|
| 52 | model.disconnectClient(); |
|---|
| 53 | } |
|---|
| 54 | |
|---|
| 55 | /** |
|---|
| 56 | * Test of setSimManagerStatus method, of class CADSimulatorStatus. |
|---|
| 57 | */ |
|---|
| 58 | public void testSetSimManagerStatus() |
|---|
| 59 | { |
|---|
| 60 | currentTest = "setSimManagerStatus"; |
|---|
| 61 | model.setSimManagerStatus(false); |
|---|
| 62 | } |
|---|
| 63 | |
|---|
| 64 | /** |
|---|
| 65 | * Test of setTime method, of class CADSimulatorStatus. |
|---|
| 66 | */ |
|---|
| 67 | public void testSetTime() |
|---|
| 68 | { |
|---|
| 69 | currentTest = "setTime"; |
|---|
| 70 | long seconds = 0L; |
|---|
| 71 | model.setTime(seconds); |
|---|
| 72 | } |
|---|
| 73 | |
|---|
| 74 | /** |
|---|
| 75 | * Test of setScriptStatus method, of class CADSimulatorStatus. |
|---|
| 76 | */ |
|---|
| 77 | public void testSetScriptStatus() |
|---|
| 78 | { |
|---|
| 79 | currentTest = "setScriptStatus"; |
|---|
| 80 | CADEnums.SCRIPT_STATUS newStatus = CADEnums.SCRIPT_STATUS.SCRIPT_RUNNING; |
|---|
| 81 | model.setScriptStatus(newStatus); |
|---|
| 82 | } |
|---|
| 83 | |
|---|
| 84 | public void testSetParamicsStatus() |
|---|
| 85 | { |
|---|
| 86 | currentTest = "setParamicsStatus"; |
|---|
| 87 | CADEnums.PARAMICS_STATUS newStatus = CADEnums.PARAMICS_STATUS.CONNECTED; |
|---|
| 88 | model.setParamicsStatus(newStatus); |
|---|
| 89 | } |
|---|
| 90 | |
|---|
| 91 | public void testLoadNetwork() |
|---|
| 92 | { |
|---|
| 93 | currentTest = "loadNetwork"; |
|---|
| 94 | model.setParamicsNetworkLoaded("ABC"); |
|---|
| 95 | } |
|---|
| 96 | |
|---|
| 97 | public void testDVDupdate() |
|---|
| 98 | { |
|---|
| 99 | currentTest = "dvdUpdate"; |
|---|
| 100 | model.updateDVDStatus(new DVDStatusUpdate("1", false, new Throwable())); |
|---|
| 101 | } |
|---|
| 102 | |
|---|
| 103 | @Override |
|---|
| 104 | public void update(Observable obs, Object obj) |
|---|
| 105 | { |
|---|
| 106 | CADSimulatorStatus stat = null; |
|---|
| 107 | CADMediaStatus ms = null; |
|---|
| 108 | if (obs instanceof CADSimulatorStatus) |
|---|
| 109 | { |
|---|
| 110 | stat = (CADSimulatorStatus) obs; |
|---|
| 111 | } |
|---|
| 112 | if (obs instanceof CADMediaStatus) |
|---|
| 113 | { |
|---|
| 114 | ms = (CADMediaStatus) obs; |
|---|
| 115 | } |
|---|
| 116 | System.out.println(currentTest); |
|---|
| 117 | switch (currentTest) |
|---|
| 118 | { |
|---|
| 119 | case "connectClient": |
|---|
| 120 | assertEquals(1, stat.getNumClients()); |
|---|
| 121 | break; |
|---|
| 122 | case "disconnectClient": |
|---|
| 123 | assertEquals(1, stat.getNumClients()); |
|---|
| 124 | break; |
|---|
| 125 | case "setSimManagerStatus": |
|---|
| 126 | assertFalse(stat.isSimManagerConnected()); |
|---|
| 127 | break; |
|---|
| 128 | case "setTime": |
|---|
| 129 | assertEquals("0:00:00", stat.getCurrentTime()); |
|---|
| 130 | break; |
|---|
| 131 | case "setScriptStatus": |
|---|
| 132 | CADEnums.SCRIPT_STATUS expResult = CADEnums.SCRIPT_STATUS.SCRIPT_RUNNING; |
|---|
| 133 | CADEnums.SCRIPT_STATUS result = stat.getScriptStatus(); |
|---|
| 134 | assertEquals(expResult, result); |
|---|
| 135 | break; |
|---|
| 136 | case "setParamicsStatus": |
|---|
| 137 | CADEnums.PARAMICS_STATUS expect = CADEnums.PARAMICS_STATUS.CONNECTED; |
|---|
| 138 | assertEquals(expect, stat.getParamicsStatus()); |
|---|
| 139 | break; |
|---|
| 140 | case "loadNetwork": |
|---|
| 141 | String id = stat.getParmicsNetworkID(); |
|---|
| 142 | assertEquals("ABC", id); |
|---|
| 143 | break; |
|---|
| 144 | case "dvdUpdate": |
|---|
| 145 | Iterator<DVDInfoPanel> iter = ms.getDVDlist(); |
|---|
| 146 | assertTrue(iter.hasNext()); |
|---|
| 147 | case "doNothing": |
|---|
| 148 | break; |
|---|
| 149 | } |
|---|
| 150 | } |
|---|
| 151 | } |
|---|