package atmsdriver.model;

import atmsdriver.ATMSDriver;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import junit.framework.TestCase;

/**
 *
 * @author jdalbey
 */
public class HighwaysTest extends TestCase {

    public HighwaysTest(String testName) {
        super(testName);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        PrintWriter writer = null;
        try {
            writer = new PrintWriter(new FileWriter("test/atmsdriver/model/ldssample.txt"));
            writer.println("lds_id	line 	drop sch lineinfo	system_key	sch_seq glo_seq		count	freeway	Dir	ca_pm	lds_name");
            writer.println("1205270	5	19	1	1	1123005673	26492	1357648		20	5	S	33	MAIN 1   ");
            writer.println("1208933	6	15	2	2	1123005691	26491	1357639		19	73	S	26.3	S OF 55  ");
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
        Path path = FileSystems.getDefault().getPath("test/atmsdriver/model", "ldssample.txt");
        Files.delete(path);
    }

    /**
     * Test of toXML method, of class Network.
     */
    public void testToXML() {
        System.out.println("toXML");
        Highways highways = new Highways(
                "test/atmsdriver/model/ldssample.txt",
                "config/vds_data/loop.txt",
                "config/vds_data/highwaysMeta.txt",
                "localhost", 8080);
        String result = highways.toXML();
        assertEquals(expResult, result);
    }
String expResult =
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n"
+"<Network>\n"
+"  <Line>\n"
+"    <Line_Num>5</Line_Num>\n"
+"    <Count>20</Count>\n"
+"    <Schedule>1</Schedule>\n"
+"    <Line_Info>1</Line_Info>\n"
+"    <System_Key>1123005673</System_Key>\n"
+"    <Global_Seq>1357648</Global_Seq>\n"
+"    <Schedule_Seq>26492</Schedule_Seq>\n"
+"    <Stations>\n"
+"      <Station>\n"
+"        <LDS_ID>1205270</LDS_ID>\n"
+"        <Line_Num>5</Line_Num>\n"
+"        <Drop>19</Drop>\n"
+"        <Location>MAIN 1</Location>\n"
+"        <Post_Mile>33.0</Post_Mile>\n"
+"        <Direction>S</Direction>\n"
+"        <Freeway>5</Freeway>\n"
+"        <ML_Tot_Vol>0</ML_Tot_Vol>\n"
+"        <Opp_Tot_Vol>0</Opp_Tot_Vol>\n"
+"        <Loops>\n"
+"          <Loop>\n"
+"            <Loop_ID>1205272</Loop_ID>\n"
+"            <Loop_Location>RAMP_ON</Loop_Location>\n"
+"            <Lane_Num>1</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1205273</Loop_ID>\n"
+"            <Loop_Location>QUEUE</Loop_Location>\n"
+"            <Lane_Num>2</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1205274</Loop_ID>\n"
+"            <Loop_Location>DEMAND</Loop_Location>\n"
+"            <Lane_Num>3</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1205275</Loop_ID>\n"
+"            <Loop_Location>PASSAGE</Loop_Location>\n"
+"            <Lane_Num>4</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1205277</Loop_ID>\n"
+"            <Loop_Location>ML_1</Loop_Location>\n"
+"            <Lane_Num>1</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1205278</Loop_ID>\n"
+"            <Loop_Location>ML_2</Loop_Location>\n"
+"            <Lane_Num>2</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1205279</Loop_ID>\n"
+"            <Loop_Location>ML_3</Loop_Location>\n"
+"            <Lane_Num>3</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1209945</Loop_ID>\n"
+"            <Loop_Location>ML_4</Loop_Location>\n"
+"            <Lane_Num>4</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1209947</Loop_ID>\n"
+"            <Loop_Location>ML_5</Loop_Location>\n"
+"            <Lane_Num>5</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1209948</Loop_ID>\n"
+"            <Loop_Location>SD_1</Loop_Location>\n"
+"            <Lane_Num>1</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1209949</Loop_ID>\n"
+"            <Loop_Location>SD_2</Loop_Location>\n"
+"            <Lane_Num>1</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"        </Loops>\n"
+"      </Station>\n"
+"    </Stations>\n"
+"  </Line>\n"
+"  <Line>\n"
+"    <Line_Num>6</Line_Num>\n"
+"    <Count>19</Count>\n"
+"    <Schedule>2</Schedule>\n"
+"    <Line_Info>2</Line_Info>\n"
+"    <System_Key>1123005691</System_Key>\n"
+"    <Global_Seq>1357639</Global_Seq>\n"
+"    <Schedule_Seq>26491</Schedule_Seq>\n"
+"    <Stations>\n"
+"      <Station>\n"
+"        <LDS_ID>1208933</LDS_ID>\n"
+"        <Line_Num>6</Line_Num>\n"
+"        <Drop>15</Drop>\n"
+"        <Location>S OF 55</Location>\n"
+"        <Post_Mile>26.3</Post_Mile>\n"
+"        <Direction>S</Direction>\n"
+"        <Freeway>73</Freeway>\n"
+"        <ML_Tot_Vol>0</ML_Tot_Vol>\n"
+"        <Opp_Tot_Vol>0</Opp_Tot_Vol>\n"
+"        <Loops>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212466</Loop_ID>\n"
+"            <Loop_Location>ML_1</Loop_Location>\n"
+"            <Lane_Num>2</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212467</Loop_ID>\n"
+"            <Loop_Location>ML_2</Loop_Location>\n"
+"            <Lane_Num>3</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212468</Loop_ID>\n"
+"            <Loop_Location>ML_3</Loop_Location>\n"
+"            <Lane_Num>1</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212469</Loop_ID>\n"
+"            <Loop_Location>OS_1</Loop_Location>\n"
+"            <Lane_Num>1</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212470</Loop_ID>\n"
+"            <Loop_Location>OS_2</Loop_Location>\n"
+"            <Lane_Num>2</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212471</Loop_ID>\n"
+"            <Loop_Location>OS_3</Loop_Location>\n"
+"            <Lane_Num>3</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212516</Loop_ID>\n"
+"            <Loop_Location>SD_4</Loop_Location>\n"
+"            <Lane_Num>1</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"          <Loop>\n"
+"            <Loop_ID>1212517</Loop_ID>\n"
+"            <Loop_Location>SD_5</Loop_Location>\n"
+"            <Lane_Num>2</Lane_Num>\n"
+"            <Vol>0</Vol>\n"
+"            <Occ>0</Occ>\n"
+"            <Spd>0</Spd>\n"
+"          </Loop>\n"
+"        </Loops>\n"
+"      </Station>\n"
+"    </Stations>\n"
+"  </Line>\n"
+"</Network>\n";
}
