1 25 40 package org.jgrapht.traverse; 41 42 import java.util.*; 43 44 import org.jgrapht.*; 45 import org.jgrapht.graph.*; 46 47 48 54 public class TopologicalOrderIteratorTest 55 extends EnhancedTestCase 56 { 57 58 60 63 public void testRecipe() 64 { 65 DirectedGraph<String , DefaultEdge> graph = 66 new DefaultDirectedGraph<String , DefaultEdge>( 67 DefaultEdge.class); 68 69 String [] v = new String [9]; 70 71 v[0] = "preheat oven"; 72 v[1] = "sift dry ingredients"; 73 v[2] = "stir wet ingredients"; 74 v[3] = "mix wet and dry ingredients"; 75 v[4] = "spoon onto pan"; 76 v[5] = "bake"; 77 v[6] = "cool"; 78 v[7] = "frost"; 79 v[8] = "eat"; 80 81 graph.addVertex(v[4]); 83 graph.addVertex(v[8]); 84 graph.addVertex(v[1]); 85 graph.addVertex(v[3]); 86 graph.addVertex(v[7]); 87 graph.addVertex(v[6]); 88 graph.addVertex(v[0]); 89 graph.addVertex(v[2]); 90 graph.addVertex(v[5]); 91 92 graph.addEdge(v[0], v[1]); 94 graph.addEdge(v[1], v[2]); 95 graph.addEdge(v[0], v[2]); 96 graph.addEdge(v[1], v[3]); 97 graph.addEdge(v[2], v[3]); 98 graph.addEdge(v[3], v[4]); 99 graph.addEdge(v[4], v[5]); 100 graph.addEdge(v[5], v[6]); 101 graph.addEdge(v[6], v[7]); 102 graph.addEdge(v[7], v[8]); 103 graph.addEdge(v[6], v[8]); 104 105 Iterator<String > iter = 106 new TopologicalOrderIterator<String , DefaultEdge>(graph); 107 int i = 0; 108 109 while (iter.hasNext()) { 110 assertEquals(v[i], iter.next()); 111 ++i; 112 } 113 } 114 } 115 116
| Popular Tags
|