source: tmcsimulator/trunk/test/tmcsim/highwaymodel/LoadHighwaysTest.java @ 657

Revision 657, 4.3 KB checked in by jdalbey, 4 years ago (diff)

Update unit tests to run on Windows (path and line separators), remove obsolete paramics test.

Line 
1package tmcsim.highwaymodel;
2
3import tmcsim.highwaymodel.Station;
4import tmcsim.highwaymodel.Highways;
5import tmcsim.highwaymodel.Highway;
6import java.io.FileWriter;
7import java.io.PrintWriter;
8import java.nio.file.FileSystems;
9import java.nio.file.Files;
10import java.nio.file.Path;
11import java.util.ArrayList;
12import java.util.List;
13import junit.framework.TestCase;
14
15/**
16 *
17 * @author jdalbey
18 */
19public class LoadHighwaysTest extends TestCase {
20    // Setup a path for temp files
21    static String tmpPath = "/tmp/";// default path is for linux
22    static
23    {
24        String myOs = System.getProperty("os.name").toLowerCase();
25        if (myOs.indexOf("win") >= 0) 
26        {
27          tmpPath = "C:/TEMP/";  // alt path for Windows
28        }
29    }
30
31    public LoadHighwaysTest(String testName) {
32        super(testName);
33    }
34
35    @Override
36    protected void setUp() throws Exception {
37        super.setUp();
38        PrintWriter writer = null;
39        try {
40            writer = new PrintWriter(new FileWriter(tmpPath + "postmiles1.txt"));
41            writer.println("5 S 0.9,33.408425,-117.599923,CALAFIA,0,0");
42            writer.println("5 N 1.24,33.413051,-117.601964,MAGDALENA,0,0");
43            writer.println("5 S 1.49,33.416348,-117.603827,EL CAMINO REAL,0,0");
44            writer.close();
45            writer = new PrintWriter(new FileWriter(tmpPath + "postmiles3.txt"));
46            writer.println("73 N 23.9,33.643656,-117.859875,BISON 2,0.976131,0.217185");
47            writer.println("55 S 6.88,33.697495,-117.862677,MACARTHU1,-0.710326,0.703873");
48            writer.println("5 N 5.73,33.458342,-117.655008,ESTRELLA1,0,0");
49            writer.println("5 N 6.47,33.464404,-117.665509,SACRAMENTO,0.523797,0.851843");
50            writer.println("405 N 6.21,33.672851,-117.832271,HARVARD,0.320278,0.947323");
51            writer.println("405 S 6.8,33.675863,-117.84179,JAMBOREE1,-0.402558,-0.915394");
52            writer.close();           
53        } catch (Exception e) {
54            e.printStackTrace();
55        }
56    }
57
58    @Override
59    protected void tearDown() throws Exception {
60        super.tearDown();
61        Path path = FileSystems.getDefault().getPath(tmpPath, "postmiles1.txt");
62        Files.delete(path);
63        path = FileSystems.getDefault().getPath(tmpPath, "postmiles3.txt");
64        Files.delete(path);
65    }
66
67    /**
68     * Test of Highways constructor
69     */
70    public void testLoadHighways() {
71        System.out.println("testLoadHighways");
72        Highways highways = new Highways(
73                tmpPath + "postmiles1.txt");
74
75        // Test for correct number of highways
76        List<Highway> result = (ArrayList) highways.highways;
77        assertEquals(1, result.size());
78       
79        // Test 5 was loaded
80        Highway fiveS = result.get(0);
81        assertEquals(new Integer(5), fiveS.routeNumber);
82       
83        // Test for correct number of stations
84        assertEquals(new Integer(3), new Integer(fiveS.stations.size()));
85       
86        // Test hwy5 stations are sorted by postmile
87        List<Station> stations = (ArrayList) fiveS.stations;
88        ArrayList<Double> stationsPostmiles = new ArrayList<>();
89        for(Station station : stations)
90        {
91            stationsPostmiles.add(station.postmile);
92        }
93       
94        // Create expected station postmile list (sorted)
95        ArrayList<Double> expectedStationsPostmiles = new ArrayList<>();
96        expectedStationsPostmiles.add(new Double(0.9));
97        expectedStationsPostmiles.add(new Double(1.24));
98        expectedStationsPostmiles.add(new Double(1.49));
99
100        for(int i = 0; i < 3; i++)
101        {
102            assertEquals(expectedStationsPostmiles.get(i), 
103                    stationsPostmiles.get(i));
104        }
105    }
106    public void testLoadHighways2() {
107        System.out.println("testLoadHighways2");
108        Highways highways = new Highways(
109                tmpPath + "postmiles3.txt");
110
111        // Test for correct number of highways
112        List<Highway> result = (ArrayList) highways.highways;
113        assertEquals(4, result.size());
114       
115        Highway five = result.get(0);
116        assertEquals(new Integer(5), five.routeNumber);
117        assertEquals(new Integer(405), result.get(1).routeNumber);
118        assertEquals(new Integer(55), result.get(2).routeNumber);
119        assertEquals(new Integer(73), result.get(3).routeNumber);
120    }
121}
Note: See TracBrowser for help on using the repository browser.