Index: trunk/test/tmcsim/highwaymodel/HighwaysTest.java
===================================================================
--- trunk/test/atmsdriver/model/HighwaysTest.java	(revision 354)
+++ trunk/test/tmcsim/highwaymodel/HighwaysTest.java	(revision 422)
@@ -1,8 +1,8 @@
-package atmsdriver.model;
-
-import archive.ATMSDriver;
-import atmsdriver.model.LoopDetector.DOTCOLOR;
-import atmsdriver.model.Station.DIRECTION;
-import java.io.File;
+package tmcsim.highwaymodel;
+
+import tmcsim.highwaymodel.LoopDetector;
+import tmcsim.highwaymodel.Station;
+import tmcsim.highwaymodel.Highways;
+import tmcsim.highwaymodel.Station.DIRECTION;
 import java.io.FileWriter;
 import java.io.PrintWriter;
@@ -31,99 +31,27 @@
         PrintWriter writer = null;
         try {
-            writer = new PrintWriter(new FileWriter("test/atmsdriver/model/ldssample.txt"));
-            writer.println("2");
-            writer.println("32 0 2");
-            writer.println("1210831 1 5 S 0.9 4 CALAFIA");
-            writer.println("1210832 ML ML_1");
-            writer.println("1210833 ML ML_2");
-            writer.println("1210834 ML ML_3");
-            writer.println("1210835 ML ML_4");
-            writer.println("1210845 2 5 S 1.49 4 EL CAMINO REAL");
-            writer.println("1210846 ML ML_1");
-            writer.println("1210847 ML ML_2");
-            writer.println("1210848 ML ML_3");
-            writer.println("1210849 ML ML_4");
-            writer.println("74 0 1");
-            writer.println("1204203 2 5 N 1.26 4 MAGDALENA");
-            writer.println("1204212 ML ML_1");
-            writer.println("1204213 ML ML_2");
-            writer.println("1204214 ML ML_3");
-            writer.println("1204215 ML ML_4");
+            writer = new PrintWriter(new FileWriter("test/atmsdriver/postmiles1.txt"));
+            writer.println("5 S 0.9,33.408425,-117.599923,CALAFIA,0,0");
+            writer.println("5 N 1.24,33.413051,-117.601964,MAGDALENA,0,0");
+            writer.println("5 S 1.49,33.416348,-117.603827,EL CAMINO REAL,0,0");
             writer.close();
-            
-            writer = new PrintWriter(new FileWriter("test/atmsdriver/model/ldssample2.txt"));
-            writer.println("1");
-            writer.println("44 0 6");
-            writer.println("1204390 6 5 S 7.99 5 AEROPUERTO");
-            writer.println("1204391 ML ML_1");
-            writer.println("1204392 ML ML_2");
-            writer.println("1204393 ML ML_3");
-            writer.println("1204394 ML ML_4");
-            writer.println("1210062 ML ML_5");
-            writer.println("1204384 5 5 N 7.46 4 CAPISTRANO");
-            writer.println("1204385 ML ML_1");
-            writer.println("1204386 ML ML_2");
-            writer.println("1204387 ML ML_3");
-            writer.println("1204388 ML ML_4");
-            writer.println("1204316 1 5 N 5.73 4 ESTRELLA1");
-            writer.println("1204317 ML ML_1");
-            writer.println("1204318 ML ML_2");
-            writer.println("1204319 ML ML_3");
-            writer.println("1204320 ML ML_4");
-            writer.println("1204340 3 5 N 6.47 4 SACRAMENTO");
-            writer.println("1204341 ML ML_1");
-            writer.println("1204342 ML ML_2");
-            writer.println("1204343 ML ML_3");
-            writer.println("1204344 ML ML_4");
-            writer.println("1204345 3 5 S 6.47 5 SACRAMENTO");
-            writer.println("1204346 OS OS_1");
-            writer.println("1204347 OS OS_2");
-            writer.println("1204348 OS OS_3");
-            writer.println("1204349 OS OS_4");
-            writer.println("1204350 OS OS_5");
-            writer.println("1211075 5 5 S 7.46 5 CAPISTRANO");
-            writer.println("1211069 OS OS_1");
-            writer.println("1211070 OS OS_2");
-            writer.println("1211071 OS OS_3");
-            writer.println("1211072 OS OS_4");
-            writer.println("1211073 OS OS_5");
+
+            writer = new PrintWriter(new FileWriter("test/atmsdriver/postmiles2.txt"));
+            writer.println("5 N 5.89,33.459637,-117.657305,ESTRELLA2,0,0");
+            writer.println("5 S 6.47,33.464281,-117.665631,SACRAMENTO,-0.56275,-0.826627");
+            writer.println("5 N 6.47,33.464404,-117.665509,SACRAMENTO,0.523797,0.851843");
+            writer.println("5 S 7.46,33.475102,-117.674584,CAPISTRANO,-0.815879,0.578222");
+            writer.println("5 N 7.46,33.475073,-117.674271,CAPISTRANO,0.816519,-0.577318");
+            writer.println("5 S 7.99,33.481738,-117.669881,AEROPUERTO,-0.815879,0.578222");
+            writer.println("5 N 7.99,33.481685,-117.669596,AEROPUERTO,0.816519,-0.577318");
             writer.close();
 
-            writer = new PrintWriter(new FileWriter("test/atmsdriver/model/ldssample3.txt"));
-            writer.println("1");
-            writer.println("44 0 6");
-            writer.println("1204390 6 73 N 23.9 5 BISON 2");
-            writer.println("1204391 ML ML_1");
-            writer.println("1204392 ML ML_2");
-            writer.println("1204393 ML ML_3");
-            writer.println("1204394 ML ML_4");
-            writer.println("1210062 ML ML_5");
-            writer.println("1204384 2 55 S 6.88 4 MACARTHU1");
-            writer.println("1204385 ML ML_1");
-            writer.println("1204386 ML ML_2");
-            writer.println("1204387 ML ML_3");
-            writer.println("1204388 ML ML_4");
-            writer.println("1204316 1 5 N 5.73 4 ESTRELLA1");
-            writer.println("1204317 ML ML_1");
-            writer.println("1204318 ML ML_2");
-            writer.println("1204319 ML ML_3");
-            writer.println("1204320 ML ML_4");
-            writer.println("1204340 3 5 N 6.47 4 SACRAMENTO");
-            writer.println("1204341 ML ML_1");
-            writer.println("1204342 ML ML_2");
-            writer.println("1204343 ML ML_3");
-            writer.println("1204344 ML ML_4");
-            writer.println("1204345 4 405 N 6.21 5 HARVARD");
-            writer.println("1204346 OS OS_1");
-            writer.println("1204347 OS OS_2");
-            writer.println("1204348 OS OS_3");
-            writer.println("1204349 OS OS_4");
-            writer.println("1204350 OS OS_5");
-            writer.println("1211075 5 405 S 6.8 5 JAMBOREE1");
-            writer.println("1211069 OS OS_1");
-            writer.println("1211070 OS OS_2");
-            writer.println("1211071 OS OS_3");
-            writer.println("1211072 OS OS_4");
-            writer.println("1211073 OS OS_5");
+            writer = new PrintWriter(new FileWriter("test/atmsdriver/postmiles3.txt"));
+            writer.println("73 N 23.9,33.643656,-117.859875,BISON 2,0.976131,0.217185");
+            writer.println("55 S 6.88,33.697495,-117.862677,MACARTHU1,-0.710326,0.703873");
+            writer.println("5 N 5.73,33.458342,-117.655008,ESTRELLA1,0,0");
+            writer.println("5 N 6.47,33.464404,-117.665509,SACRAMENTO,0.523797,0.851843");
+            writer.println("405 N 6.21,33.672851,-117.832271,HARVARD,0.320278,0.947323");
+            writer.println("405 S 6.8,33.675863,-117.84179,JAMBOREE1,-0.402558,-0.915394");
             writer.close();
         } catch (Exception e) {
@@ -135,23 +63,21 @@
     protected void tearDown() throws Exception {
         super.tearDown();
-        Path path = FileSystems.getDefault().getPath("test/atmsdriver/model", "ldssample.txt");
+        Path path = FileSystems.getDefault().getPath("test/atmsdriver", "postmiles1.txt");
         Files.delete(path);
-        path = FileSystems.getDefault().getPath("test/atmsdriver/model", "ldssample2.txt");
+        path = FileSystems.getDefault().getPath("test/atmsdriver", "postmiles2.txt");
         Files.delete(path);
-        path = FileSystems.getDefault().getPath("test/atmsdriver/model", "ldssample3.txt");
+        path = FileSystems.getDefault().getPath("test/atmsdriver", "postmiles3.txt");
         Files.delete(path);
     }
 
-    public void testFindStation()
-    {
+    public void testFindStation() {
         System.out.println("test FindStation()");
         Highways highways = new Highways(
-                "test/atmsdriver/model/ldssample.txt",
-                "localhost", 8080);
+                "test/atmsdriver/postmiles1.txt");
         assertTrue(null != highways.findStation(5, DIRECTION.SOUTH, 0.9));
         assertTrue(null != highways.findStation(5, DIRECTION.SOUTH, 1.49));
-        assertTrue(null != highways.findStation(5, DIRECTION.NORTH, 1.26));
-        assertTrue(null == highways.findStation(5, DIRECTION.SOUTH, 1.1));
-    }
+        assertTrue(null != highways.findStation(5, DIRECTION.NORTH, 1.24));
+    }
+
     /**
      * Test of toString method
@@ -160,31 +86,27 @@
         System.out.println("toString");
         Highways highways = new Highways(
-                "config/vds_data/highways_fullmap.txt",
-                "localhost", 8080);
+                "test/atmsdriver/postmiles2.txt");
         highways.getHighwayByRouteNumber(5).stations.get(0).loops.get(0).vol = 1;
         String result = highways.toString();
         String[] resultLines = result.split("\n");
-        String actual = resultLines[3].substring(0,9);
-        assertEquals("  5 S @.-",actual);
-        highways.applyColorToHighwayStretch(241, Station.DIRECTION.NORTH, 18.8, 0.8, 
-                LoopDetector.DOTCOLOR.RED);
-        result = highways.toString();
-        System.out.println("bravo:\n"+result);
-        assertEquals("241 N -@.@@.-",result.substring(0,13));
-        highways.applyColorToHighwayStretch(241, Station.DIRECTION.SOUTH, 18.8, 2.0, 
+        String actual = resultLines[0];
+        assertEquals("  5 N @.-.-.-", actual);
+        highways.applyColorToHighwayStretch(5, Station.DIRECTION.NORTH, 7.99, 2.0,
                 LoopDetector.DOTCOLOR.YELLOW);
         result = highways.toString();
-        System.out.println("charly:\n"+result);
-        resultLines = result.split("\n");
-        actual = resultLines[1].substring(0,16);
-        assertEquals("241 S ..-..+.++.",actual);
-    }
-
+        System.out.println("bravo:\n" + result);
+        assertEquals("5 N @.+.+.+\n  5 S .-.-.-.", result.trim());
+        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 6.47, 1.51,
+                LoopDetector.DOTCOLOR.YELLOW);
+        result = highways.toString();
+        System.out.println("charly:\n" + result);
+        actual = result.trim();
+        assertEquals("5 N @.+.+.+\n  5 S .+.+.-.", actual);
+    }
 
     public void testToJson() throws ParseException {
         System.out.println("toJson");
         Highways highways = new Highways(
-                "test/atmsdriver/model/ldssample.txt",
-                "localhost", 8080);
+                "test/atmsdriver/postmiles1.txt");
         String result = highways.toJson();
         System.out.println(result);
@@ -193,58 +115,58 @@
         JSONObject obj = (JSONObject) parser.parse(result);
         System.out.println(obj);
-        JSONArray array = (JSONArray)obj.get("features");
-        JSONObject item1 = (JSONObject)array.get(0);
+        JSONArray array = (JSONArray) obj.get("features");
+        JSONObject item1 = (JSONObject) array.get(0);
         String id1 = (String) item1.get("id");
-        JSONObject item2 = (JSONObject)array.get(1);
+        JSONObject item2 = (JSONObject) array.get(1);
         String id2 = (String) item2.get("id");
-        JSONObject item3 = (JSONObject)array.get(2);
+        JSONObject item3 = (JSONObject) array.get(2);
         String id3 = (String) item3.get("id");
-        assertEquals("5 N 1.26", id1);
+        assertEquals("5 N 1.24", id1);
         assertEquals("5 S 0.9", id2);
         assertEquals("5 S 1.49", id3);
     }
+
     public void testStationSort() throws ParseException {
         System.out.println("stationSort");
         Highways highways = new Highways(
-                "test/atmsdriver/model/ldssample2.txt",
-                "localhost", 8080);
+                "test/atmsdriver/postmiles3.txt");
         String result = highways.toJson();
         JSONParser parser = new JSONParser();
         JSONObject obj = (JSONObject) parser.parse(result);
-        JSONArray array = (JSONArray)obj.get("features");
-        JSONObject item1 = (JSONObject)array.get(0);
+        JSONArray array = (JSONArray) obj.get("features");
+        JSONObject item1 = (JSONObject) array.get(0);
         String id1 = (String) item1.get("id");
-        JSONObject item2 = (JSONObject)array.get(1);
+        JSONObject item2 = (JSONObject) array.get(1);
         String id2 = (String) item2.get("id");
-        JSONObject item3 = (JSONObject)array.get(2);
+        JSONObject item3 = (JSONObject) array.get(2);
         String id3 = (String) item3.get("id");
         assertEquals("5 N 5.73", id1);
         assertEquals("5 N 6.47", id2);
-        assertEquals("5 N 7.46", id3);
-        JSONObject item4 = (JSONObject)array.get(3);
+        assertEquals("55 S 6.88", id3);
+        JSONObject item4 = (JSONObject) array.get(3);
         String id4 = (String) item4.get("id");
-        JSONObject item5 = (JSONObject)array.get(4);
+        JSONObject item5 = (JSONObject) array.get(4);
         String id5 = (String) item5.get("id");
-        assertEquals("5 S 6.47", id4);
-        assertEquals("5 S 7.46", id5);
-    }
+        assertEquals("73 N 23.9", id4);
+        assertEquals("405 N 6.21", id5);
+    }
+
     public void testRouteSort() throws ParseException {
         System.out.println("routeSort");
         Highways highways = new Highways(
-                "test/atmsdriver/model/ldssample3.txt",
-                "localhost", 8080);
+                "test/atmsdriver/postmiles3.txt");
         String result = highways.toJson();
         JSONParser parser = new JSONParser();
         JSONObject obj = (JSONObject) parser.parse(result);
-        JSONArray array = (JSONArray)obj.get("features");
-        JSONObject item1 = (JSONObject)array.get(0);
+        JSONArray array = (JSONArray) obj.get("features");
+        JSONObject item1 = (JSONObject) array.get(0);
         String id1 = (String) item1.get("id");
-        JSONObject item2 = (JSONObject)array.get(1);
+        JSONObject item2 = (JSONObject) array.get(1);
         String id2 = (String) item2.get("id");
-        JSONObject item3 = (JSONObject)array.get(2);
+        JSONObject item3 = (JSONObject) array.get(2);
         String id3 = (String) item3.get("id");
-        JSONObject item4 = (JSONObject)array.get(3);
+        JSONObject item4 = (JSONObject) array.get(3);
         String id4 = (String) item4.get("id");
-        JSONObject item5 = (JSONObject)array.get(4);
+        JSONObject item5 = (JSONObject) array.get(4);
         String id5 = (String) item5.get("id");
         assertEquals("5 N 5.73", id1);
@@ -254,92 +176,41 @@
         assertEquals("405 N 6.21", id5);
     }
-   
-    public void testApplyColor()
-    {
+
+    public void testApplyColor() {
         System.out.println("apply color");
         Highways highways = new Highways(
-            "test/atmsdriver/model/ldssample.txt",
-            "localhost", 8080);
-        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 0.9, 2.0, 
+                "test/atmsdriver/postmiles1.txt");
+        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 0.9, 2.0,
                 LoopDetector.DOTCOLOR.RED);
         Station target = highways.findStation(5, DIRECTION.SOUTH, 0.9);
-        assertEquals('@',target.getColor());
+        assertEquals('@', target.getColor().symbol());
         String result = highways.toString();
-        System.out.println("applyto:\n"+result);
+        System.out.println("applyto:\n" + result);
         assertEquals("5 N .-.\n  5 S @.@", result.trim());
-        
-        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 1.49, 2.0, 
+
+        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 1.49, 2.0,
                 LoopDetector.DOTCOLOR.YELLOW);
         result = highways.toString();
         assertEquals("5 N .-.\n  5 S @.+", result.trim());
-        
-        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 1.49, 0.59, 
+
+        highways.applyColorToHighwayStretch(5, Station.DIRECTION.SOUTH, 1.49, 0.59,
                 LoopDetector.DOTCOLOR.GREEN);
         result = highways.toString();
         assertEquals("5 N .-.\n  5 S @.-", result.trim());
 
-        highways.applyColorToHighwayStretch(5, Station.DIRECTION.NORTH, 1.83, 2.0, 
+        highways.applyColorToHighwayStretch(5, Station.DIRECTION.NORTH, 1.83, 2.0,
                 LoopDetector.DOTCOLOR.RED);
         result = highways.toString();
         assertEquals("5 N .@.\n  5 S @.-", result.trim());
-        
+
         //highways.applyColorToHighwayStretch(241, Station.DIRECTION.NORTH, 20.13, 4.0, LoopDetector.DOTCOLOR.RED);
         //result = highways.toString();
         //assertTrue(result.length()>0); //"241 N @@ @@@@@-",result.substring(0,15));
-
-    }            
-    
-    public void testToCondensedFormat()
-    {
-        System.out.println("ToCondensedFormat");
-        Highways highways = new Highways(
-                "test/atmsdriver/model/ldssample.txt",
-                "localhost", 8080);
-
-        String actualCondensedFormatMeta = highways.toCondensedFormat(true);
-        String actualCondensedFormatFEP = highways.toCondensedFormat(false);
-        System.out.println(actualCondensedFormatMeta);
-        
-        assertEquals(expectedCondensedFormatFEP, actualCondensedFormatFEP);
-        assertEquals(expectedCondensedFormatMeta, actualCondensedFormatMeta);
-    }
-    String expectedCondensedFormatMeta = 
-            "2\n" +
-            "32 0 2\n" +
-            "1210831 1 5 S 0.9 4 CALAFIA\n" +
-            "1210832 ML ML_1\n" +
-            "1210833 ML ML_2\n" +
-            "1210834 ML ML_3\n" +
-            "1210835 ML ML_4\n" +
-            "1210845 2 5 S 1.49 4 EL CAMINO REAL\n" +
-            "1210846 ML ML_1\n" +
-            "1210847 ML ML_2\n" +
-            "1210848 ML ML_3\n" +
-            "1210849 ML ML_4\n" +
-            "74 0 1\n" +
-            "1204203 2 5 N 1.26 4 MAGDALENA\n" +
-            "1204212 ML ML_1\n" +
-            "1204213 ML ML_2\n" +
-            "1204214 ML ML_3\n" +
-            "1204215 ML ML_4\n";
-    String expectedCondensedFormatFEP = 
-            "2\n" +
-            "32 0 2\n" +
-            "1210831 1 5 S 0.9 4 \n" +
-            "1210832  0.0 0 ML_1\n" +
-            "1210833  0.0 0 ML_2\n" +
-            "1210834  0.0 0 ML_3\n" +
-            "1210835  0.0 0 ML_4\n" +
-            "1210845 2 5 S 1.49 4 \n" +
-            "1210846  0.0 0 ML_1\n" +
-            "1210847  0.0 0 ML_2\n" +
-            "1210848  0.0 0 ML_3\n" +
-            "1210849  0.0 0 ML_4\n" +
-            "74 0 1\n" +
-            "1204203 2 5 N 1.26 4 \n" +
-            "1204212  0.0 0 ML_1\n" +
-            "1204213  0.0 0 ML_2\n" +
-            "1204214  0.0 0 ML_3\n" +
-            "1204215  0.0 0 ML_4\n";
-    
+                
+        highways.reset();
+        result = highways.toString();
+        assertEquals("5 N .-.\n  5 S -.-", result.trim());
+    }
+
+
 }
