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

source: tmcsimulator/trunk/test/atmsdriver/model/HighwaysTest.java @ 252

Revision 252, 15.9 KB checked in by jdalbey, 7 years ago (diff)

HighwaysTest?.java: Add test method "testApplyColor" which currently fails to reveal defect in applyColorToHighwayStretch method.

RevLine 
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 HighwaysTest extends TestCase {
17
18    public HighwaysTest(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("2");
29            writer.println("32 0 2");
30            writer.println("1210831 1 5 S 0.9 8 CALAFIA");
31            writer.println("1210832 ML ML_1");
32            writer.println("1210833 ML ML_2");
33            writer.println("1210834 ML ML_3");
34            writer.println("1210835 ML ML_4");
35            writer.println("1210836 PA PASSAGE");
36            writer.println("1210837 DM DEMAND");
37            writer.println("1210838 QU QUEUE");
38            writer.println("1210839 FR RAMP_OFF");
39            writer.println("1210845 2 5 S 1.49 9 EL CAMINO REAL");
40            writer.println("1210846 ML ML_1");
41            writer.println("1210847 ML ML_2");
42            writer.println("1210848 ML ML_3");
43            writer.println("1210849 ML ML_4");
44            writer.println("1210850 OR RAMP_ON");
45            writer.println("1210851 PA PASSAGE");
46            writer.println("1210853 DM DEMAND");
47            writer.println("1210854 QU QUEUE");
48            writer.println("1210855 FR RAMP_OFF");
49            writer.println("74 0 1");
50            writer.println("1204203 2 5 N 1.26 13 MAGDALENA");
51            writer.println("1204205 OR RAMP_ON");
52            writer.println("1204206 QU QUEUE");
53            writer.println("1204207 DM DEMAND");
54            writer.println("1204208 PA PASSAGE");
55            writer.println("1204210 FR RAMP_OFF");
56            writer.println("1204212 ML ML_1");
57            writer.println("1204213 ML ML_2");
58            writer.println("1204214 ML ML_3");
59            writer.println("1204215 ML ML_4");
60            writer.println("1204217 OS OS_1");
61            writer.println("1204218 OS OS_2");
62            writer.println("1204219 OS OS_3");
63            writer.println("1204220 OS 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", "ldssample.txt");
74        Files.delete(path);
75    }
76
77    /**
78     * Test of toString method
79     */
80    public void testToString() {
81        System.out.println("toString");
82        Highways highways = new Highways(
83                "config/vds_data/highways_fullmap.txt",
84                "localhost", 8080);
85        highways.getHighwayByRouteNumber(5).stations.get(0).loops.get(0).vol = 1;
86        String result = highways.toString();
87        System.out.println(result);
88        assertTrue(result.startsWith(expToString1));
89        highways.applyColorToHighwayStretch(241, Station.DIRECTION.NORTH, 20.13, 4.0, LoopDetector.DOTCOLOR.RED);
90        result = highways.toString();
91        assertEquals("241 N @@ @@@@@-",result.substring(0,15));
92    }
93    String expToString1 = 
94    "241 N -- ------ -- ------- -------------------------------------  \n" +
95"241 S   - --- --  --------- ------------------------------------  \n" +
96"  5 N  - - ------ ---  --- -- --- ----  - -- - -  -- - - -    -- -- - ---- -- -- --- - - -- -  ----- ----- --- -  - -- --  - - ---- - - - ------- \n" +
97"  5 S @--";
98
99    public void testToJson() {
100        System.out.println("toJson");
101        Highways highways = new Highways(
102                "test/atmsdriver/model/ldssample.txt",
103                "localhost", 8080);
104        String result = highways.toJson();
105        System.out.println(result);
106        assertTrue(result.indexOf("33.416348") > 0);
107    }
108   
109    public void testApplyColor()
110    {
111        System.out.println("apply color");
112        Highways highways = new Highways(
113            "test/atmsdriver/model/ldssample.txt",
114            "localhost", 8080);
115        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 0.9, 2.0, LoopDetector.DOTCOLOR.RED);
116        String result = highways.toString();
117        assertEquals("5 S @@@", result.trim());
118        highways.applyColorToHighwayStretch(241, Station.DIRECTION.NORTH, 20.13, 4.0, LoopDetector.DOTCOLOR.RED);
119        result = highways.toString();
120        assertEquals("241 N @@ @@@@@-",result.substring(0,15));
121
122    }           
123   
124    public void testToCondensedFormat()
125    {
126        System.out.println("ToCondensedFormat");
127        Highways highways = new Highways(
128                "test/atmsdriver/model/ldssample.txt",
129                "localhost", 8080);
130
131        String actualCondensedFormatMeta = highways.toCondensedFormat(true);
132        String actualCondensedFormatFEP = highways.toCondensedFormat(false);
133       
134        assertEquals(expectedCondensedFormatFEP, actualCondensedFormatFEP);
135        assertEquals(expectedCondensedFormatMeta, actualCondensedFormatMeta);
136    }
137    String expectedCondensedFormatMeta = 
138            "2\n" +
139            "32 0 2\n" +
140            "1210831 1 5 S 0.9 8 CALAFIA\n" +
141            "1210832 ML_1\n" +
142            "1210833 ML_2\n" +
143            "1210834 ML_3\n" +
144            "1210835 ML_4\n" +
145            "1210836 PASSAGE\n" +
146            "1210837 DEMAND\n" +
147            "1210838 QUEUE\n" +
148            "1210839 RAMP_OFF\n" +
149            "1210845 2 5 S 1.49 9 EL CAMINO REAL\n" +
150            "1210846 ML_1\n" +
151            "1210847 ML_2\n" +
152            "1210848 ML_3\n" +
153            "1210849 ML_4\n" +
154            "1210850 RAMP_ON\n" +
155            "1210851 PASSAGE\n" +
156            "1210853 DEMAND\n" +
157            "1210854 QUEUE\n" +
158            "1210855 RAMP_OFF\n" +
159            "74 0 1\n" +
160            "1204203 2 5 N 1.26 13 MAGDALENA\n" +
161            "1204205 RAMP_ON\n" +
162            "1204206 QUEUE\n" +
163            "1204207 DEMAND\n" +
164            "1204208 PASSAGE\n" +
165            "1204210 RAMP_OFF\n" +
166            "1204212 ML_1\n" +
167            "1204213 ML_2\n" +
168            "1204214 ML_3\n" +
169            "1204215 ML_4\n" +
170            "1204217 OS_1\n" +
171            "1204218 OS_2\n" +
172            "1204219 OS_3\n" +
173            "1204220 OS_4\n";
174    String expectedCondensedFormatFEP = 
175            "2\n" +
176            "32 0 2\n" +
177            "1210831 1 5 S 0.9 8 \n" +
178            "1210832  0.0 0 ML_1\n" +
179            "1210833  0.0 0 ML_2\n" +
180            "1210834  0.0 0 ML_3\n" +
181            "1210835  0.0 0 ML_4\n" +
182            "1210836  0.0 0 PASSAGE\n" +
183            "1210837  0.0 0 DEMAND\n" +
184            "1210838  0.0 0 QUEUE\n" +
185            "1210839  0.0 0 RAMP_OFF\n" +
186            "1210845 2 5 S 1.49 9 \n" +
187            "1210846  0.0 0 ML_1\n" +
188            "1210847  0.0 0 ML_2\n" +
189            "1210848  0.0 0 ML_3\n" +
190            "1210849  0.0 0 ML_4\n" +
191            "1210850  0.0 0 RAMP_ON\n" +
192            "1210851  0.0 0 PASSAGE\n" +
193            "1210853  0.0 0 DEMAND\n" +
194            "1210854  0.0 0 QUEUE\n" +
195            "1210855  0.0 0 RAMP_OFF\n" +
196            "74 0 1\n" +
197            "1204203 2 5 N 1.26 13 \n" +
198            "1204205  0.0 0 RAMP_ON\n" +
199            "1204206  0.0 0 QUEUE\n" +
200            "1204207  0.0 0 DEMAND\n" +
201            "1204208  0.0 0 PASSAGE\n" +
202            "1204210  0.0 0 RAMP_OFF\n" +
203            "1204212  0.0 0 ML_1\n" +
204            "1204213  0.0 0 ML_2\n" +
205            "1204214  0.0 0 ML_3\n" +
206            "1204215  0.0 0 ML_4\n" +
207            "1204217  0.0 0 OS_1\n" +
208            "1204218  0.0 0 OS_2\n" +
209            "1204219  0.0 0 OS_3\n" +
210            "1204220  0.0 0 OS_4\n";
211   
212    /**
213     * Test of toXML method
214     */
215    public void testToXML() {
216        System.out.println("toXML");
217        Highways highways = new Highways(
218                "test/atmsdriver/model/ldssample.txt",
219                "localhost", 8080);
220        String result = highways.toXML();
221        assertEquals(expXMLResult, result);
222    }
223String expXMLResult =
224"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n" +
225"<Network>\n" +
226"  <Line>\n" +
227"    <Line_Num>32</Line_Num>\n" +
228"    <Count>0</Count>\n" +
229"    <Stations>\n" +
230"      <Station>\n" +
231"        <LDS_ID>1210831</LDS_ID>\n" +
232"        <Line_Num>32</Line_Num>\n" +
233"        <Drop>1</Drop>\n" +
234"        <Location>CALAFIA</Location>\n" +
235"        <Post_Mile>0.9</Post_Mile>\n" +
236"        <Direction>S</Direction>\n" +
237"        <Freeway>5</Freeway>\n" +
238"        <ML_Tot_Vol>0</ML_Tot_Vol>\n" +
239"        <Opp_Tot_Vol>0</Opp_Tot_Vol>\n" +
240"        <Loops>\n" +
241"          <Loop>\n" +
242"            <Loop_ID>1210832</Loop_ID>\n" +
243"            <Loop_Location>ML_1</Loop_Location>\n" +
244"            <Vol>0</Vol>\n" +
245"            <Occ>0.0</Occ>\n" +
246"          </Loop>\n" +
247"          <Loop>\n" +
248"            <Loop_ID>1210833</Loop_ID>\n" +
249"            <Loop_Location>ML_2</Loop_Location>\n" +
250"            <Vol>0</Vol>\n" +
251"            <Occ>0.0</Occ>\n" +
252"          </Loop>\n" +
253"          <Loop>\n" +
254"            <Loop_ID>1210834</Loop_ID>\n" +
255"            <Loop_Location>ML_3</Loop_Location>\n" +
256"            <Vol>0</Vol>\n" +
257"            <Occ>0.0</Occ>\n" +
258"          </Loop>\n" +
259"          <Loop>\n" +
260"            <Loop_ID>1210835</Loop_ID>\n" +
261"            <Loop_Location>ML_4</Loop_Location>\n" +
262"            <Vol>0</Vol>\n" +
263"            <Occ>0.0</Occ>\n" +
264"          </Loop>\n" +
265"          <Loop>\n" +
266"            <Loop_ID>1210836</Loop_ID>\n" +
267"            <Loop_Location>PASSAGE</Loop_Location>\n" +
268"            <Vol>0</Vol>\n" +
269"            <Occ>0.0</Occ>\n" +
270"          </Loop>\n" +
271"          <Loop>\n" +
272"            <Loop_ID>1210837</Loop_ID>\n" +
273"            <Loop_Location>DEMAND</Loop_Location>\n" +
274"            <Vol>0</Vol>\n" +
275"            <Occ>0.0</Occ>\n" +
276"          </Loop>\n" +
277"          <Loop>\n" +
278"            <Loop_ID>1210838</Loop_ID>\n" +
279"            <Loop_Location>QUEUE</Loop_Location>\n" +
280"            <Vol>0</Vol>\n" +
281"            <Occ>0.0</Occ>\n" +
282"          </Loop>\n" +
283"          <Loop>\n" +
284"            <Loop_ID>1210839</Loop_ID>\n" +
285"            <Loop_Location>RAMP_OFF</Loop_Location>\n" +
286"            <Vol>0</Vol>\n" +
287"            <Occ>0.0</Occ>\n" +
288"          </Loop>\n" +
289"        </Loops>\n" +
290"      </Station>\n" +
291"      <Station>\n" +
292"        <LDS_ID>1210845</LDS_ID>\n" +
293"        <Line_Num>32</Line_Num>\n" +
294"        <Drop>2</Drop>\n" +
295"        <Location>EL CAMINO REAL</Location>\n" +
296"        <Post_Mile>1.49</Post_Mile>\n" +
297"        <Direction>S</Direction>\n" +
298"        <Freeway>5</Freeway>\n" +
299"        <ML_Tot_Vol>0</ML_Tot_Vol>\n" +
300"        <Opp_Tot_Vol>0</Opp_Tot_Vol>\n" +
301"        <Loops>\n" +
302"          <Loop>\n" +
303"            <Loop_ID>1210846</Loop_ID>\n" +
304"            <Loop_Location>ML_1</Loop_Location>\n" +
305"            <Vol>0</Vol>\n" +
306"            <Occ>0.0</Occ>\n" +
307"          </Loop>\n" +
308"          <Loop>\n" +
309"            <Loop_ID>1210847</Loop_ID>\n" +
310"            <Loop_Location>ML_2</Loop_Location>\n" +
311"            <Vol>0</Vol>\n" +
312"            <Occ>0.0</Occ>\n" +
313"          </Loop>\n" +
314"          <Loop>\n" +
315"            <Loop_ID>1210848</Loop_ID>\n" +
316"            <Loop_Location>ML_3</Loop_Location>\n" +
317"            <Vol>0</Vol>\n" +
318"            <Occ>0.0</Occ>\n" +
319"          </Loop>\n" +
320"          <Loop>\n" +
321"            <Loop_ID>1210849</Loop_ID>\n" +
322"            <Loop_Location>ML_4</Loop_Location>\n" +
323"            <Vol>0</Vol>\n" +
324"            <Occ>0.0</Occ>\n" +
325"          </Loop>\n" +
326"          <Loop>\n" +
327"            <Loop_ID>1210850</Loop_ID>\n" +
328"            <Loop_Location>RAMP_ON</Loop_Location>\n" +
329"            <Vol>0</Vol>\n" +
330"            <Occ>0.0</Occ>\n" +
331"          </Loop>\n" +
332"          <Loop>\n" +
333"            <Loop_ID>1210851</Loop_ID>\n" +
334"            <Loop_Location>PASSAGE</Loop_Location>\n" +
335"            <Vol>0</Vol>\n" +
336"            <Occ>0.0</Occ>\n" +
337"          </Loop>\n" +
338"          <Loop>\n" +
339"            <Loop_ID>1210853</Loop_ID>\n" +
340"            <Loop_Location>DEMAND</Loop_Location>\n" +
341"            <Vol>0</Vol>\n" +
342"            <Occ>0.0</Occ>\n" +
343"          </Loop>\n" +
344"          <Loop>\n" +
345"            <Loop_ID>1210854</Loop_ID>\n" +
346"            <Loop_Location>QUEUE</Loop_Location>\n" +
347"            <Vol>0</Vol>\n" +
348"            <Occ>0.0</Occ>\n" +
349"          </Loop>\n" +
350"          <Loop>\n" +
351"            <Loop_ID>1210855</Loop_ID>\n" +
352"            <Loop_Location>RAMP_OFF</Loop_Location>\n" +
353"            <Vol>0</Vol>\n" +
354"            <Occ>0.0</Occ>\n" +
355"          </Loop>\n" +
356"        </Loops>\n" +
357"      </Station>\n" +
358"    </Stations>\n" +
359"  </Line>\n" +
360"  <Line>\n" +
361"    <Line_Num>74</Line_Num>\n" +
362"    <Count>0</Count>\n" +
363"    <Stations>\n" +
364"      <Station>\n" +
365"        <LDS_ID>1204203</LDS_ID>\n" +
366"        <Line_Num>74</Line_Num>\n" +
367"        <Drop>2</Drop>\n" +
368"        <Location>MAGDALENA</Location>\n" +
369"        <Post_Mile>1.26</Post_Mile>\n" +
370"        <Direction>N</Direction>\n" +
371"        <Freeway>5</Freeway>\n" +
372"        <ML_Tot_Vol>0</ML_Tot_Vol>\n" +
373"        <Opp_Tot_Vol>0</Opp_Tot_Vol>\n" +
374"        <Loops>\n" +
375"          <Loop>\n" +
376"            <Loop_ID>1204205</Loop_ID>\n" +
377"            <Loop_Location>RAMP_ON</Loop_Location>\n" +
378"            <Vol>0</Vol>\n" +
379"            <Occ>0.0</Occ>\n" +
380"          </Loop>\n" +
381"          <Loop>\n" +
382"            <Loop_ID>1204206</Loop_ID>\n" +
383"            <Loop_Location>QUEUE</Loop_Location>\n" +
384"            <Vol>0</Vol>\n" +
385"            <Occ>0.0</Occ>\n" +
386"          </Loop>\n" +
387"          <Loop>\n" +
388"            <Loop_ID>1204207</Loop_ID>\n" +
389"            <Loop_Location>DEMAND</Loop_Location>\n" +
390"            <Vol>0</Vol>\n" +
391"            <Occ>0.0</Occ>\n" +
392"          </Loop>\n" +
393"          <Loop>\n" +
394"            <Loop_ID>1204208</Loop_ID>\n" +
395"            <Loop_Location>PASSAGE</Loop_Location>\n" +
396"            <Vol>0</Vol>\n" +
397"            <Occ>0.0</Occ>\n" +
398"          </Loop>\n" +
399"          <Loop>\n" +
400"            <Loop_ID>1204210</Loop_ID>\n" +
401"            <Loop_Location>RAMP_OFF</Loop_Location>\n" +
402"            <Vol>0</Vol>\n" +
403"            <Occ>0.0</Occ>\n" +
404"          </Loop>\n" +
405"          <Loop>\n" +
406"            <Loop_ID>1204212</Loop_ID>\n" +
407"            <Loop_Location>ML_1</Loop_Location>\n" +
408"            <Vol>0</Vol>\n" +
409"            <Occ>0.0</Occ>\n" +
410"          </Loop>\n" +
411"          <Loop>\n" +
412"            <Loop_ID>1204213</Loop_ID>\n" +
413"            <Loop_Location>ML_2</Loop_Location>\n" +
414"            <Vol>0</Vol>\n" +
415"            <Occ>0.0</Occ>\n" +
416"          </Loop>\n" +
417"          <Loop>\n" +
418"            <Loop_ID>1204214</Loop_ID>\n" +
419"            <Loop_Location>ML_3</Loop_Location>\n" +
420"            <Vol>0</Vol>\n" +
421"            <Occ>0.0</Occ>\n" +
422"          </Loop>\n" +
423"          <Loop>\n" +
424"            <Loop_ID>1204215</Loop_ID>\n" +
425"            <Loop_Location>ML_4</Loop_Location>\n" +
426"            <Vol>0</Vol>\n" +
427"            <Occ>0.0</Occ>\n" +
428"          </Loop>\n" +
429"          <Loop>\n" +
430"            <Loop_ID>1204217</Loop_ID>\n" +
431"            <Loop_Location>OS_1</Loop_Location>\n" +
432"            <Vol>0</Vol>\n" +
433"            <Occ>0.0</Occ>\n" +
434"          </Loop>\n" +
435"          <Loop>\n" +
436"            <Loop_ID>1204218</Loop_ID>\n" +
437"            <Loop_Location>OS_2</Loop_Location>\n" +
438"            <Vol>0</Vol>\n" +
439"            <Occ>0.0</Occ>\n" +
440"          </Loop>\n" +
441"          <Loop>\n" +
442"            <Loop_ID>1204219</Loop_ID>\n" +
443"            <Loop_Location>OS_3</Loop_Location>\n" +
444"            <Vol>0</Vol>\n" +
445"            <Occ>0.0</Occ>\n" +
446"          </Loop>\n" +
447"          <Loop>\n" +
448"            <Loop_ID>1204220</Loop_ID>\n" +
449"            <Loop_Location>OS_4</Loop_Location>\n" +
450"            <Vol>0</Vol>\n" +
451"            <Occ>0.0</Occ>\n" +
452"          </Loop>\n" +
453"        </Loops>\n" +
454"      </Station>\n" +
455"    </Stations>\n" +
456"  </Line>\n" +
457"</Network>\n";
458}
Note: See TracBrowser for help on using the repository browser.