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 4 CALAFIA"); writer.println("1210832 ML ML_1"); writer.println("1210833 ML ML_2"); writer.println("1210834 ML ML_3"); writer.println("1210835 ML ML_4"); writer.println("1210845 2 5 S 1.49 4 EL CAMINO REAL"); writer.println("1210846 ML ML_1"); writer.println("1210847 ML ML_2"); writer.println("1210848 ML ML_3"); writer.println("1210849 ML ML_4"); writer.println("74 0 1"); writer.println("1204203 2 5 N 1.26 4 MAGDALENA"); writer.println("1204212 ML ML_1"); writer.println("1204213 ML ML_2"); writer.println("1204214 ML ML_3"); writer.println("1204215 ML ML_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 Highways constructor */ 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(12), new Integer(fiveS.stations.get(0).loops.size() + fiveS.stations.get(1).loops.size() + fiveS.stations.get(2).loops.size())); } }