Warning: Can't use blame annotator:
svn blame failed on trunk/test/atmsdriver/model/LoadHighwaysTest.java: ("Can't find a temporary directory: Internal error", 20014)

source: tmcsimulator/trunk/test/atmsdriver/model/LoadHighwaysTest.java @ 209

Revision 209, 4.3 KB checked in by jtorres, 9 years ago (diff)

branches/FEPSimulator/tests: added unit test HighwaysParserTest?.cpp, which yielded a bug in HighwayParser?.cpp (not returning correct loop_loc... garbage data...), this likely explains why not all green dots were showing

RevLine 
1package atmsdriver.model;
2
3import java.io.FileWriter;
4import java.io.PrintWriter;
5import java.nio.file.FileSystems;
6import java.nio.file.Files;
7import java.nio.file.Path;
8import java.util.ArrayList;
9import junit.framework.TestCase;
10
11/**
12 *
13 * @author jdalbey
14 */
15public class LoadHighwaysTest extends TestCase {
16
17    public LoadHighwaysTest(String testName) {
18        super(testName);
19    }
20
21    @Override
22    protected void setUp() throws Exception {
23        super.setUp();
24        PrintWriter writer = null;
25        try {
26            writer = new PrintWriter(new FileWriter("test/atmsdriver/model/lds_loadhighways_sample.txt"));
27           
28            writer.println("2");
29            writer.println("32 0 2");
30            writer.println("1210831 1 5 S 0.9 8 CALAFIA");
31            writer.println("1210832 ML_1");
32            writer.println("1210833 ML_2");
33            writer.println("1210834 ML_3");
34            writer.println("1210835 ML_4");
35            writer.println("1210836 PASSAGE");
36            writer.println("1210837 DEMAND");
37            writer.println("1210838 QUEUE");
38            writer.println("1210839 RAMP_OFF");
39            writer.println("1210845 2 5 S 1.49 9 EL CAMINO REAL");
40            writer.println("1210846 ML_1");
41            writer.println("1210847 ML_2");
42            writer.println("1210848 ML_3");
43            writer.println("1210849 ML_4");
44            writer.println("1210850 RAMP_ON");
45            writer.println("1210851 PASSAGE");
46            writer.println("1210853 DEMAND");
47            writer.println("1210854 QUEUE");
48            writer.println("1210855 RAMP_OFF");
49            writer.println("74 0 1");
50            writer.println("1204203 2 5 N 1.26 13 MAGDALENA");
51            writer.println("1204205 RAMP_ON");
52            writer.println("1204206 QUEUE");
53            writer.println("1204207 DEMAND");
54            writer.println("1204208 PASSAGE");
55            writer.println("1204210 RAMP_OFF");
56            writer.println("1204212 ML_1");
57            writer.println("1204213 ML_2");
58            writer.println("1204214 ML_3");
59            writer.println("1204215 ML_4");
60            writer.println("1204217 OS_1");
61            writer.println("1204218 OS_2");
62            writer.println("1204219 OS_3");
63            writer.println("1204220 OS_4");
64            writer.close();
65        } catch (Exception e) {
66            e.printStackTrace();
67        }
68    }
69
70    @Override
71    protected void tearDown() throws Exception {
72        super.tearDown();
73        Path path = FileSystems.getDefault().getPath("test/atmsdriver/model", "lds_loadhighways_sample.txt");
74        Files.delete(path);
75    }
76
77    /**
78     * Test of toXML method, of class Network.
79     */
80    public void testLoadHighways() {
81        System.out.println("toXML");
82        Highways highways = new Highways(
83                "test/atmsdriver/model/lds_loadhighways_sample.txt",
84                "localhost", 8080);
85        System.out.println(highways.toCondensedFormat(false));
86        // Test for correct number of highways
87        ArrayList<Highway> result = highways.highways;
88        assertEquals(1, result.size());
89       
90        // Test 5 was loaded
91        Highway fiveS = result.get(0);
92        assertEquals(new Integer(5), fiveS.routeNumber);
93       
94        // Test for correct number of stations
95        assertEquals(new Integer(3), new Integer(fiveS.stations.size()));
96       
97        // Test 5 stations are sorted by postmile
98        ArrayList<Station> stations = fiveS.stations;
99        ArrayList<Double> stationsPostmiles = new ArrayList<>();
100        for(Station station : stations)
101        {
102            stationsPostmiles.add(station.postmile);
103        }
104       
105        // Create expected station postmile list (sorted)
106        ArrayList<Double> expectedStationsPostmiles = new ArrayList<>();
107        expectedStationsPostmiles.add(new Double(0.9));
108        expectedStationsPostmiles.add(new Double(1.26));
109        expectedStationsPostmiles.add(new Double(1.49));
110
111        for(int i = 0; i < 3; i++)
112        {
113            assertEquals(expectedStationsPostmiles.get(i), 
114                    stationsPostmiles.get(i));
115        }
116       
117        // Test for correct number of loops
118        assertEquals(new Integer(30), new Integer(fiveS.stations.get(0).loops.size()
119            + fiveS.stations.get(1).loops.size() + fiveS.stations.get(2).loops.size()));
120    }
121}
Note: See TracBrowser for help on using the repository browser.