@Test
    public void testStronglyConnectedComponentsMin() {

        DirectedGraph<String>  graphM = new DirectedGraph<String>();
        DirectedGraph<String>  reversedGraphM = new DirectedGraph<String>();


        List<String> input = new ArrayList<String>();

        input.add("A B");
        input.add("B D");
        input.add("D A");
        input.add("A F");
        input.add("F E");
        input.add("E F");
        input.add("E C");
        input.add("C G");
        input.add("D G");
        input.add("G H");
        input.add("H C");
        for(String line : input) {
            String[] split = line.split(" ");

            Vertex<String> source = new Vertex<String>(split[0]);
            Vertex<String> dest = new Vertex<String>(split[1]);

            graphM.addVertex(source);
            graphM.addVertex(dest);

            if (!graphM.isEdge(source, dest)) {
                graphM.addEdge(source, dest);
            }
            source = new Vertex<String>(split[0]);
            dest = new Vertex<String>(split[1]);

            reversedGraphM.addVertex(source);
            reversedGraphM.addVertex(dest);

            if (!reversedGraphM.isEdge(dest, source)) {
                reversedGraphM.addEdge(dest, source);
            }


        }




        List<Integer> scc = new StronglyConnectedComponents<String>().getSCC(graphM, reversedGraphM);
        Collections.sort(scc);
        System.out.println(scc.toString());
    }