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

Revision 422, 4.0 KB checked in by jdalbey, 7 years ago (diff)

Remove ATMS functionality. Reworked and simplified the Highway model to use only VDS data from PeMS. Updated all unit tests.

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
21    public LoadHighwaysTest(String testName) {
22        super(testName);
23    }
24
25    @Override
26    protected void setUp() throws Exception {
27        super.setUp();
28        PrintWriter writer = null;
29        try {
30            writer = new PrintWriter(new FileWriter("test/atmsdriver/postmiles1.txt"));
31            writer.println("5 S 0.9,33.408425,-117.599923,CALAFIA,0,0");
32            writer.println("5 N 1.24,33.413051,-117.601964,MAGDALENA,0,0");
33            writer.println("5 S 1.49,33.416348,-117.603827,EL CAMINO REAL,0,0");
34            writer.close();
35            writer = new PrintWriter(new FileWriter("test/atmsdriver/postmiles3.txt"));
36            writer.println("73 N 23.9,33.643656,-117.859875,BISON 2,0.976131,0.217185");
37            writer.println("55 S 6.88,33.697495,-117.862677,MACARTHU1,-0.710326,0.703873");
38            writer.println("5 N 5.73,33.458342,-117.655008,ESTRELLA1,0,0");
39            writer.println("5 N 6.47,33.464404,-117.665509,SACRAMENTO,0.523797,0.851843");
40            writer.println("405 N 6.21,33.672851,-117.832271,HARVARD,0.320278,0.947323");
41            writer.println("405 S 6.8,33.675863,-117.84179,JAMBOREE1,-0.402558,-0.915394");
42            writer.close();           
43        } catch (Exception e) {
44            e.printStackTrace();
45        }
46    }
47
48    @Override
49    protected void tearDown() throws Exception {
50        super.tearDown();
51        Path path = FileSystems.getDefault().getPath("test/atmsdriver", "postmiles1.txt");
52        Files.delete(path);
53        path = FileSystems.getDefault().getPath("test/atmsdriver", "postmiles3.txt");
54        Files.delete(path);
55    }
56
57    /**
58     * Test of Highways constructor
59     */
60    public void testLoadHighways() {
61        System.out.println("testLoadHighways");
62        Highways highways = new Highways(
63                "test/atmsdriver/postmiles1.txt");
64
65        // Test for correct number of highways
66        List<Highway> result = (ArrayList) highways.highways;
67        assertEquals(1, result.size());
68       
69        // Test 5 was loaded
70        Highway fiveS = result.get(0);
71        assertEquals(new Integer(5), fiveS.routeNumber);
72       
73        // Test for correct number of stations
74        assertEquals(new Integer(3), new Integer(fiveS.stations.size()));
75       
76        // Test hwy5 stations are sorted by postmile
77        List<Station> stations = (ArrayList) fiveS.stations;
78        ArrayList<Double> stationsPostmiles = new ArrayList<>();
79        for(Station station : stations)
80        {
81            stationsPostmiles.add(station.postmile);
82        }
83       
84        // Create expected station postmile list (sorted)
85        ArrayList<Double> expectedStationsPostmiles = new ArrayList<>();
86        expectedStationsPostmiles.add(new Double(0.9));
87        expectedStationsPostmiles.add(new Double(1.24));
88        expectedStationsPostmiles.add(new Double(1.49));
89
90        for(int i = 0; i < 3; i++)
91        {
92            assertEquals(expectedStationsPostmiles.get(i), 
93                    stationsPostmiles.get(i));
94        }
95    }
96    public void testLoadHighways2() {
97        System.out.println("testLoadHighways2");
98        Highways highways = new Highways(
99                "test/atmsdriver/postmiles3.txt");
100
101        // Test for correct number of highways
102        List<Highway> result = (ArrayList) highways.highways;
103        assertEquals(4, result.size());
104       
105        Highway five = result.get(0);
106        assertEquals(new Integer(5), five.routeNumber);
107        assertEquals(new Integer(405), result.get(1).routeNumber);
108        assertEquals(new Integer(55), result.get(2).routeNumber);
109        assertEquals(new Integer(73), result.get(3).routeNumber);
110    }
111}
Note: See TracBrowser for help on using the repository browser.