import rpi.goldsd.graph.*;

public class LongestPathTest2
{
  public static void main( String[] args )
  {
    Graph G = new Graph( "Directed Graph" );

    Vertex A = new Vertex( "A" );
    Vertex B = new Vertex( "B" );
    Vertex C = new Vertex( "C" );
    Vertex D = new Vertex( "D" );
    Vertex E = new Vertex( "E" );
    Vertex F = new Vertex( "F" );

    G.add( A );
    G.add( B );
    G.add( C );
    G.add( D );
    G.add( E );
    G.add( F );

    G.add( new DirectedEdge( A, B, 10.0 ) );
    G.add( new DirectedEdge( A, C, 20.0 ) );
    G.add( new DirectedEdge( A, D, 10.0 ) );
    G.add( new DirectedEdge( B, F, 10.0 ) );
    G.add( new DirectedEdge( C, D, 30.0 ) );
    G.add( new DirectedEdge( C, E, 50.0 ) );
    G.add( new DirectedEdge( D, B, 40.0 ) );
    G.add( new DirectedEdge( D, C, 30.0 ) );
    G.add( new DirectedEdge( D, E, 10.0 ) );
    G.add( new DirectedEdge( D, F, 20.0 ) );
    G.add( new DirectedEdge( E, D, 20.0 ) );
    G.add( new DirectedEdge( F, D, 20.0 ) );
    G.add( new DirectedEdge( F, E, 10.0 ) );

    G.printSummary();
    Path P = Algorithms.findLongestPath( A, E );

    System.out.println();
    System.out.println( "Longest Path:" );
    System.out.println( P );
    System.out.println( "Weight of Path is: " + P.weight() );
  }
}

