package ch.epfl.isochrone.timetable;

import java.io.IOException;

import org.junit.Test;

public class TestTimeTableReader {
    // Le "test" suivant n'en est pas un à proprement parler, raison pour
    // laquelle il est ignoré (annotation @Ignore). Son seul but est de garantir
    // que les noms des classes et méthodes sont corrects.
    @Test
    public void readTimeTableIsOk() throws IOException {
        
        TimeTableReader ttr = new TimeTableReader("/time-table/");
        
        TimeTable tt = ttr.readTimeTable();
        
        Graph g = ttr.readGraphForServices(tt.stops(), tt.servicesForDate(new Date(1, 1, 2014)), 1, 3);
        
        java.util.Date date = new java.util.Date();
        for (Stop s : g.outgoingEdges.keySet())
        {
            System.out.println("Départs de " + s.name() + " : ");
            for (GraphEdge l : g.outgoingEdges.get(s))
            {
                int temps = l.earliestArrivalTime(SecondsPastMidnight.fromHMS(11, 40, 0));
                if (temps==SecondsPastMidnight.INFINITE)
                    System.out.println("Plus de trajets disponibles");
                else
                    System.out.println("  - " + l.destination().name() + " : " + SecondsPastMidnight.toString(temps));
            }
            System.out.println("------------------------");
            System.out.println();
            
        }
    }
}
