package atmsdriver.model; import java.io.FileWriter; import java.io.PrintWriter; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; import junit.framework.TestCase; /** * * @author jdalbey */ public class LoadHighwaysTest extends TestCase { public LoadHighwaysTest(String testName) { super(testName); } @Override protected void setUp() throws Exception { super.setUp(); PrintWriter writer = null; try { writer = new PrintWriter(new FileWriter("test/atmsdriver/model/lds_loadhighways_sample.txt")); writer.println("2"); writer.println("32 0 2"); writer.println("1210831 1 5 S 0.9 8 CALAFIA"); writer.println("1210832 ML_1"); writer.println("1210833 ML_2"); writer.println("1210834 ML_3"); writer.println("1210835 ML_4"); writer.println("1210836 PASSAGE"); writer.println("1210837 DEMAND"); writer.println("1210838 QUEUE"); writer.println("1210839 RAMP_OFF"); writer.println("1210845 2 5 S 1.49 9 EL CAMINO REAL"); writer.println("1210846 ML_1"); writer.println("1210847 ML_2"); writer.println("1210848 ML_3"); writer.println("1210849 ML_4"); writer.println("1210850 RAMP_ON"); writer.println("1210851 PASSAGE"); writer.println("1210853 DEMAND"); writer.println("1210854 QUEUE"); writer.println("1210855 RAMP_OFF"); writer.println("74 0 1"); writer.println("1204203 2 5 N 1.26 13 MAGDALENA"); writer.println("1204205 RAMP_ON"); writer.println("1204206 QUEUE"); writer.println("1204207 DEMAND"); writer.println("1204208 PASSAGE"); writer.println("1204210 RAMP_OFF"); writer.println("1204212 ML_1"); writer.println("1204213 ML_2"); writer.println("1204214 ML_3"); writer.println("1204215 ML_4"); writer.println("1204217 OS_1"); writer.println("1204218 OS_2"); writer.println("1204219 OS_3"); writer.println("1204220 OS_4"); writer.close(); } catch (Exception e) { e.printStackTrace(); } } @Override protected void tearDown() throws Exception { super.tearDown(); Path path = FileSystems.getDefault().getPath("test/atmsdriver/model", "lds_loadhighways_sample.txt"); Files.delete(path); } /** * Test of toXML method, of class Network. */ public void testLoadHighways() { System.out.println("toXML"); Highways highways = new Highways( "test/atmsdriver/model/lds_loadhighways_sample.txt", "localhost", 8080); // Test for correct number of highways List result = (ArrayList) highways.highways; assertEquals(1, result.size()); // Test 5 was loaded Highway fiveS = result.get(0); assertEquals(new Integer(5), fiveS.routeNumber); // Test for correct number of stations assertEquals(new Integer(3), new Integer(fiveS.stations.size())); // Test 5 stations are sorted by postmile List stations = (ArrayList) fiveS.stations; ArrayList stationsPostmiles = new ArrayList<>(); for(Station station : stations) { stationsPostmiles.add(station.postmile); } // Create expected station postmile list (sorted) ArrayList expectedStationsPostmiles = new ArrayList<>(); expectedStationsPostmiles.add(new Double(0.9)); expectedStationsPostmiles.add(new Double(1.26)); expectedStationsPostmiles.add(new Double(1.49)); for(int i = 0; i < 3; i++) { assertEquals(expectedStationsPostmiles.get(i), stationsPostmiles.get(i)); } // Test for correct number of loops assertEquals(new Integer(30), new Integer(fiveS.stations.get(0).loops.size() + fiveS.stations.get(1).loops.size() + fiveS.stations.get(2).loops.size())); } }