source: tmcsimulator/trunk/test/atmsdriver/model/NetworkTest.java @ 87

Revision 87, 8.3 KB checked in by jtorres, 9 years ago (diff)

merged branches/trunk into regular tmcsim/trunk. Changed Network.java to Highways.java. Highways.java: added writeToFEP(), updateSequences(), loadHighways(), and writeHighwaysMeta(). writeToFEP() is a socket client that communicates with FEPSimulator socket server. updateSequences() updates global and schedule sequences per the existing UCI plugin code and may not be necessary. loadHighways() loads the ArrayList? of Highways used in highways class, in sorted order. Stations are now implementing comparable to sort by postmile. writeHighwaysMeta() is an attempt at writing the highways meta data in condensed form, because loading time in NetworkLoader? is super long. We will eventually get rid of NetworkLoader? and do it within the Highways class for good OOP practice. There are new properties in atms_driver_properties.properties in config to support all these changes. Highway.java: new class, represents a highway which is a sorted ArrayList? of stations. This is a good checkpoint, for persistent green dots and all is working within the triangle. There is much commented out code in Highways.java which does not quite work. This commented code is an attempt at writing the condensed form highway meta data to improve loading times as described above.

Line 
1package atmsdriver.model;
2
3import atmsdriver.ATMSDriver;
4import java.io.File;
5import java.io.FileWriter;
6import java.io.PrintWriter;
7import java.nio.file.FileSystems;
8import java.nio.file.Files;
9import java.nio.file.Path;
10import junit.framework.TestCase;
11
12/**
13 *
14 * @author jdalbey
15 */
16public class NetworkTest extends TestCase {
17
18    public NetworkTest(String testName) {
19        super(testName);
20    }
21
22    @Override
23    protected void setUp() throws Exception {
24        super.setUp();
25        PrintWriter writer = null;
26        try {
27            writer = new PrintWriter(new FileWriter("test/atmsdriver/model/ldssample.txt"));
28            writer.println("lds_id      line    drop sch lineinfo       system_key      sch_seq glo_seq         count   freeway Dir     ca_pm   lds_name");
29            writer.println("1205270     5       19      1       1       1123005673      26492   1357648         20      5       S       33      MAIN 1   ");
30            writer.println("1208933     6       15      2       2       1123005691      26491   1357639         19      73      S       26.3    S OF 55  ");
31            writer.close();
32        } catch (Exception e) {
33            e.printStackTrace();
34        }
35    }
36
37    @Override
38    protected void tearDown() throws Exception {
39        super.tearDown();
40        Path path = FileSystems.getDefault().getPath("test/atmsdriver/model", "ldssample.txt");
41        Files.delete(path);
42    }
43
44    /**
45     * Test of toXML method, of class Network.
46     */
47    public void testToXML() {
48        System.out.println("toXML");
49        Highways highways = new Highways(
50                "test/atmsdriver/model/ldssample.txt",
51                "config/vds_data/loop.txt",
52                "config/vds_data/highwaysMeta.txt",
53                "localhost", 8080);
54        String result = highways.toXML();
55        assertEquals(expResult, result);
56    }
57String expResult =
58"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n"
59+"<Network>\n"
60+"  <Line>\n"
61+"    <Line_Num>5</Line_Num>\n"
62+"    <Count>20</Count>\n"
63+"    <Schedule>1</Schedule>\n"
64+"    <Line_Info>1</Line_Info>\n"
65+"    <System_Key>1123005673</System_Key>\n"
66+"    <Global_Seq>1357648</Global_Seq>\n"
67+"    <Schedule_Seq>26492</Schedule_Seq>\n"
68+"    <Stations>\n"
69+"      <Station>\n"
70+"        <LDS_ID>1205270</LDS_ID>\n"
71+"        <Line_Num>5</Line_Num>\n"
72+"        <Drop>19</Drop>\n"
73+"        <Location>MAIN 1</Location>\n"
74+"        <Post_Mile>33.0</Post_Mile>\n"
75+"        <Direction>S</Direction>\n"
76+"        <Freeway>5</Freeway>\n"
77+"        <ML_Tot_Vol>0</ML_Tot_Vol>\n"
78+"        <Opp_Tot_Vol>0</Opp_Tot_Vol>\n"
79+"        <Loops>\n"
80+"          <Loop>\n"
81+"            <Loop_ID>1205272</Loop_ID>\n"
82+"            <Loop_Location>RAMP_ON</Loop_Location>\n"
83+"            <Lane_Num>1</Lane_Num>\n"
84+"            <Vol>0</Vol>\n"
85+"            <Occ>0</Occ>\n"
86+"            <Spd>0</Spd>\n"
87+"          </Loop>\n"
88+"          <Loop>\n"
89+"            <Loop_ID>1205273</Loop_ID>\n"
90+"            <Loop_Location>QUEUE</Loop_Location>\n"
91+"            <Lane_Num>2</Lane_Num>\n"
92+"            <Vol>0</Vol>\n"
93+"            <Occ>0</Occ>\n"
94+"            <Spd>0</Spd>\n"
95+"          </Loop>\n"
96+"          <Loop>\n"
97+"            <Loop_ID>1205274</Loop_ID>\n"
98+"            <Loop_Location>DEMAND</Loop_Location>\n"
99+"            <Lane_Num>3</Lane_Num>\n"
100+"            <Vol>0</Vol>\n"
101+"            <Occ>0</Occ>\n"
102+"            <Spd>0</Spd>\n"
103+"          </Loop>\n"
104+"          <Loop>\n"
105+"            <Loop_ID>1205275</Loop_ID>\n"
106+"            <Loop_Location>PASSAGE</Loop_Location>\n"
107+"            <Lane_Num>4</Lane_Num>\n"
108+"            <Vol>0</Vol>\n"
109+"            <Occ>0</Occ>\n"
110+"            <Spd>0</Spd>\n"
111+"          </Loop>\n"
112+"          <Loop>\n"
113+"            <Loop_ID>1205277</Loop_ID>\n"
114+"            <Loop_Location>ML_1</Loop_Location>\n"
115+"            <Lane_Num>1</Lane_Num>\n"
116+"            <Vol>0</Vol>\n"
117+"            <Occ>0</Occ>\n"
118+"            <Spd>0</Spd>\n"
119+"          </Loop>\n"
120+"          <Loop>\n"
121+"            <Loop_ID>1205278</Loop_ID>\n"
122+"            <Loop_Location>ML_2</Loop_Location>\n"
123+"            <Lane_Num>2</Lane_Num>\n"
124+"            <Vol>0</Vol>\n"
125+"            <Occ>0</Occ>\n"
126+"            <Spd>0</Spd>\n"
127+"          </Loop>\n"
128+"          <Loop>\n"
129+"            <Loop_ID>1205279</Loop_ID>\n"
130+"            <Loop_Location>ML_3</Loop_Location>\n"
131+"            <Lane_Num>3</Lane_Num>\n"
132+"            <Vol>0</Vol>\n"
133+"            <Occ>0</Occ>\n"
134+"            <Spd>0</Spd>\n"
135+"          </Loop>\n"
136+"          <Loop>\n"
137+"            <Loop_ID>1209945</Loop_ID>\n"
138+"            <Loop_Location>ML_4</Loop_Location>\n"
139+"            <Lane_Num>4</Lane_Num>\n"
140+"            <Vol>0</Vol>\n"
141+"            <Occ>0</Occ>\n"
142+"            <Spd>0</Spd>\n"
143+"          </Loop>\n"
144+"          <Loop>\n"
145+"            <Loop_ID>1209947</Loop_ID>\n"
146+"            <Loop_Location>ML_5</Loop_Location>\n"
147+"            <Lane_Num>5</Lane_Num>\n"
148+"            <Vol>0</Vol>\n"
149+"            <Occ>0</Occ>\n"
150+"            <Spd>0</Spd>\n"
151+"          </Loop>\n"
152+"          <Loop>\n"
153+"            <Loop_ID>1209948</Loop_ID>\n"
154+"            <Loop_Location>SD_1</Loop_Location>\n"
155+"            <Lane_Num>1</Lane_Num>\n"
156+"            <Vol>0</Vol>\n"
157+"            <Occ>0</Occ>\n"
158+"            <Spd>0</Spd>\n"
159+"          </Loop>\n"
160+"          <Loop>\n"
161+"            <Loop_ID>1209949</Loop_ID>\n"
162+"            <Loop_Location>SD_2</Loop_Location>\n"
163+"            <Lane_Num>1</Lane_Num>\n"
164+"            <Vol>0</Vol>\n"
165+"            <Occ>0</Occ>\n"
166+"            <Spd>0</Spd>\n"
167+"          </Loop>\n"
168+"        </Loops>\n"
169+"      </Station>\n"
170+"    </Stations>\n"
171+"  </Line>\n"
172+"  <Line>\n"
173+"    <Line_Num>6</Line_Num>\n"
174+"    <Count>19</Count>\n"
175+"    <Schedule>2</Schedule>\n"
176+"    <Line_Info>2</Line_Info>\n"
177+"    <System_Key>1123005691</System_Key>\n"
178+"    <Global_Seq>1357639</Global_Seq>\n"
179+"    <Schedule_Seq>26491</Schedule_Seq>\n"
180+"    <Stations>\n"
181+"      <Station>\n"
182+"        <LDS_ID>1208933</LDS_ID>\n"
183+"        <Line_Num>6</Line_Num>\n"
184+"        <Drop>15</Drop>\n"
185+"        <Location>S OF 55</Location>\n"
186+"        <Post_Mile>26.3</Post_Mile>\n"
187+"        <Direction>S</Direction>\n"
188+"        <Freeway>73</Freeway>\n"
189+"        <ML_Tot_Vol>0</ML_Tot_Vol>\n"
190+"        <Opp_Tot_Vol>0</Opp_Tot_Vol>\n"
191+"        <Loops>\n"
192+"          <Loop>\n"
193+"            <Loop_ID>1212466</Loop_ID>\n"
194+"            <Loop_Location>ML_1</Loop_Location>\n"
195+"            <Lane_Num>2</Lane_Num>\n"
196+"            <Vol>0</Vol>\n"
197+"            <Occ>0</Occ>\n"
198+"            <Spd>0</Spd>\n"
199+"          </Loop>\n"
200+"          <Loop>\n"
201+"            <Loop_ID>1212467</Loop_ID>\n"
202+"            <Loop_Location>ML_2</Loop_Location>\n"
203+"            <Lane_Num>3</Lane_Num>\n"
204+"            <Vol>0</Vol>\n"
205+"            <Occ>0</Occ>\n"
206+"            <Spd>0</Spd>\n"
207+"          </Loop>\n"
208+"          <Loop>\n"
209+"            <Loop_ID>1212468</Loop_ID>\n"
210+"            <Loop_Location>ML_3</Loop_Location>\n"
211+"            <Lane_Num>1</Lane_Num>\n"
212+"            <Vol>0</Vol>\n"
213+"            <Occ>0</Occ>\n"
214+"            <Spd>0</Spd>\n"
215+"          </Loop>\n"
216+"          <Loop>\n"
217+"            <Loop_ID>1212469</Loop_ID>\n"
218+"            <Loop_Location>OS_1</Loop_Location>\n"
219+"            <Lane_Num>1</Lane_Num>\n"
220+"            <Vol>0</Vol>\n"
221+"            <Occ>0</Occ>\n"
222+"            <Spd>0</Spd>\n"
223+"          </Loop>\n"
224+"          <Loop>\n"
225+"            <Loop_ID>1212470</Loop_ID>\n"
226+"            <Loop_Location>OS_2</Loop_Location>\n"
227+"            <Lane_Num>2</Lane_Num>\n"
228+"            <Vol>0</Vol>\n"
229+"            <Occ>0</Occ>\n"
230+"            <Spd>0</Spd>\n"
231+"          </Loop>\n"
232+"          <Loop>\n"
233+"            <Loop_ID>1212471</Loop_ID>\n"
234+"            <Loop_Location>OS_3</Loop_Location>\n"
235+"            <Lane_Num>3</Lane_Num>\n"
236+"            <Vol>0</Vol>\n"
237+"            <Occ>0</Occ>\n"
238+"            <Spd>0</Spd>\n"
239+"          </Loop>\n"
240+"          <Loop>\n"
241+"            <Loop_ID>1212516</Loop_ID>\n"
242+"            <Loop_Location>SD_4</Loop_Location>\n"
243+"            <Lane_Num>1</Lane_Num>\n"
244+"            <Vol>0</Vol>\n"
245+"            <Occ>0</Occ>\n"
246+"            <Spd>0</Spd>\n"
247+"          </Loop>\n"
248+"          <Loop>\n"
249+"            <Loop_ID>1212517</Loop_ID>\n"
250+"            <Loop_Location>SD_5</Loop_Location>\n"
251+"            <Lane_Num>2</Lane_Num>\n"
252+"            <Vol>0</Vol>\n"
253+"            <Occ>0</Occ>\n"
254+"            <Spd>0</Spd>\n"
255+"          </Loop>\n"
256+"        </Loops>\n"
257+"      </Station>\n"
258+"    </Stations>\n"
259+"  </Line>\n"
260+"</Network>\n";
261}
Note: See TracBrowser for help on using the repository browser.