Node nodeC = graph.makeNode( "C" );
graph.makeEdge( "A", "B", "length", 2d );
graph.makeEdge( "B", "C", "length", 3d );
graph.makeEdge( "A", "C", "length", 10d );
Dijkstra algo = new Dijkstra( Traversal.expanderForAllTypes(),
CommonEvaluators.doubleCostEvaluator( "length" ) );
Iterator<WeightedPath> paths = algo.findAllPaths( nodeA, nodeC ).iterator();
assertTrue( "expected at least one path", paths.hasNext() );
assertPath( paths.next(), nodeA, nodeB, nodeC );
assertFalse( "expected at most one path", paths.hasNext() );
assertPath( algo.findSinglePath( nodeA, nodeC ), nodeA, nodeB, nodeC );
}