Hi Marco :) nice to see your first commit!!! Anyway, 2 notes:
on DefaultTargetSourceSelector.java > + try{ > + WeightedPath<V, WE, W> weightedPath = > predecessors.buildPath( source, target ); > + allVertexPairsShortestPath.addShortestPath( source, > target, weightedPath ); > + }catch (PathNotFoundException e) { > + continue; > + } this is not the format we've been using; > + fail( "Null Pointer Exception not catched" ); AFAIK `catched` doesn't exist in English, it has to be replaced to`not caught`, the verb is not regular[1] HTH, -Simo [1] http://forum.wordreference.com/showthread.php?t=223931&langid=14 http://people.apache.org/~simonetripodi/ http://simonetripodi.livejournal.com/ http://twitter.com/simonetripodi http://www.99soft.org/ On Tue, Feb 14, 2012 at 11:08 PM, <marcospera...@apache.org> wrote: > Author: marcosperanza > Date: Tue Feb 14 22:08:26 2012 > New Revision: 1244234 > > URL: http://svn.apache.org/viewvc?rev=1244234&view=rev > Log: > Added test cases > Added PathNotFoundException into PredecessorList > > Modified: > > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/DefaultTargetSourceSelector.java > > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/PredecessorsList.java > > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/flow/EdmondsKarpTestCase.java > > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/AStarTestCase.java > > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/BellmannFordTestCase.java > > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/DijkstraTestCase.java > > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/FloydWarshallTestCase.java > > Modified: > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/DefaultTargetSourceSelector.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/DefaultTargetSourceSelector.java?rev=1244234&r1=1244233&r2=1244234&view=diff > ============================================================================== > --- > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/DefaultTargetSourceSelector.java > (original) > +++ > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/DefaultTargetSourceSelector.java > Tue Feb 14 22:08:26 2012 > @@ -105,8 +105,12 @@ final class DefaultTargetSourceSelector< > { > if ( !source.equals( target ) ) > { > - WeightedPath<V, WE, W> weightedPath = > predecessors.buildPath( source, target ); > - allVertexPairsShortestPath.addShortestPath( source, target, > weightedPath ); > + try{ > + WeightedPath<V, WE, W> weightedPath = > predecessors.buildPath( source, target ); > + allVertexPairsShortestPath.addShortestPath( source, > target, weightedPath ); > + }catch (PathNotFoundException e) { > + continue; > + } > } > } > > > Modified: > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/PredecessorsList.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/PredecessorsList.java?rev=1244234&r1=1244233&r2=1244234&view=diff > ============================================================================== > --- > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/PredecessorsList.java > (original) > +++ > commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/shortestpath/PredecessorsList.java > Tue Feb 14 22:08:26 2012 > @@ -22,6 +22,7 @@ package org.apache.commons.graph.shortes > import java.util.HashMap; > import java.util.Map; > > +import org.apache.commons.graph.Edge; > import org.apache.commons.graph.Graph; > import org.apache.commons.graph.Vertex; > import org.apache.commons.graph.WeightedEdge; > @@ -79,6 +80,10 @@ public final class PredecessorsList<V ex > while ( !source.equals( vertex ) ) > { > V predecessor = predecessors.get( vertex ); > + if ( predecessor == null ) > + { > + throw new PathNotFoundException( "Path from '%s' to '%s' > doesn't exist", source, target ); > + } > WE edge = graph.getEdge( predecessor, vertex ); > > path.addConnectionInHead( predecessor, edge, vertex ); > > Modified: > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/flow/EdmondsKarpTestCase.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/flow/EdmondsKarpTestCase.java?rev=1244234&r1=1244233&r2=1244234&view=diff > ============================================================================== > --- > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/flow/EdmondsKarpTestCase.java > (original) > +++ > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/flow/EdmondsKarpTestCase.java > Tue Feb 14 22:08:26 2012 > @@ -19,6 +19,13 @@ package org.apache.commons.graph.flow; > * under the License. > */ > > +import static org.apache.commons.graph.CommonsGraph.findMaxFlow; > +import static > org.apache.commons.graph.CommonsGraph.newDirectedMutableWeightedGraph; > +import static org.junit.Assert.assertEquals; > +import static org.junit.Assert.fail; > + > +import org.apache.commons.graph.Vertex; > +import org.apache.commons.graph.WeightedEdge; > import org.apache.commons.graph.builder.AbstractGraphConnection; > import org.apache.commons.graph.model.BaseLabeledVertex; > import org.apache.commons.graph.model.BaseLabeledWeightedEdge; > @@ -26,10 +33,6 @@ import org.apache.commons.graph.model.Di > import org.apache.commons.graph.weight.primitive.IntegerWeight; > import org.junit.Test; > > -import static org.apache.commons.graph.CommonsGraph.findMaxFlow; > -import static > org.apache.commons.graph.CommonsGraph.newDirectedMutableWeightedGraph; > -import static org.junit.Assert.assertEquals; > - > /** > * Test for Edmonds-Karp algorithm implementation. > * The test graph is available on > @@ -37,6 +40,73 @@ import static org.junit.Assert.assertEqu > */ > public class EdmondsKarpTestCase > { > + > + @Test( expected = NullPointerException.class ) > + public void testNullGraph() > + { > + final BaseLabeledVertex a = new BaseLabeledVertex( "A" ); > + final BaseLabeledVertex g = new BaseLabeledVertex( "G" ); > + > + // actual max flow > + findMaxFlow( (DirectedMutableWeightedGraph<Vertex, > WeightedEdge<Integer>, Integer>) null ).from( a ).to( g > ).applyingEdmondsKarp( new IntegerWeight() ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullVertices() > + { > + > + final BaseLabeledVertex a = null; > + final BaseLabeledVertex g = null; > + > + DirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Integer>, Integer> graph = > + newDirectedMutableWeightedGraph( new > AbstractGraphConnection<BaseLabeledVertex, BaseLabeledWeightedEdge<Integer>>() > + { > + @Override > + public void connect() > + { > + } > + > + } ); > + > + // actual max flow > + findMaxFlow( graph ).from( a ).to( g ).applyingEdmondsKarp( new > IntegerWeight() ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test > + public void testSparse() > + { > + final BaseLabeledVertex a = new BaseLabeledVertex( "A" ); > + final BaseLabeledVertex g = new BaseLabeledVertex( "G" ); > + > + DirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Integer>, Integer> graph = > + newDirectedMutableWeightedGraph( new > AbstractGraphConnection<BaseLabeledVertex, BaseLabeledWeightedEdge<Integer>>() > + { > + > + @Override > + public void connect() > + { > + addVertex( a ); > + BaseLabeledVertex b = addVertex( new BaseLabeledVertex( > "B" ) ); > + BaseLabeledVertex c = addVertex( new BaseLabeledVertex( > "C" ) ); > + addVertex( new BaseLabeledVertex( "D" ) ); > + addVertex( new BaseLabeledVertex( "E" ) ); > + addVertex( new BaseLabeledVertex( "F" ) ); > + addVertex( g ); > + > + addEdge( new BaseLabeledWeightedEdge<Integer>( "A -> B", > 3 ) ).from( a ).to( b ); > + addEdge( new BaseLabeledWeightedEdge<Integer>( "B -> C", > 4 ) ).from( b ).to( c ); > + } > + } ); > + > + // expected max flow > + final Integer expected = 0; > + > + // actual max flow > + Integer actual = findMaxFlow( graph ).from( a ).to( g > ).applyingEdmondsKarp( new IntegerWeight() ); > + assertEquals( actual, expected ); > + } > > @Test > public void findMaxFlowAndVerify() > > Modified: > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/AStarTestCase.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/AStarTestCase.java?rev=1244234&r1=1244233&r2=1244234&view=diff > ============================================================================== > --- > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/AStarTestCase.java > (original) > +++ > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/AStarTestCase.java > Tue Feb 14 22:08:26 2012 > @@ -21,11 +21,15 @@ package org.apache.commons.graph.shortes > > import static junit.framework.Assert.assertEquals; > import static org.apache.commons.graph.CommonsGraph.findShortestPath; > +import static org.junit.Assert.fail; > > import java.util.HashMap; > import java.util.Map; > > import org.apache.commons.graph.Path; > +import org.apache.commons.graph.Vertex; > +import org.apache.commons.graph.WeightedEdge; > +import org.apache.commons.graph.WeightedGraph; > import org.apache.commons.graph.model.BaseLabeledVertex; > import org.apache.commons.graph.model.BaseLabeledWeightedEdge; > import org.apache.commons.graph.model.InMemoryWeightedPath; > @@ -36,6 +40,87 @@ import org.junit.Test; > public final class AStarTestCase > { > > + @Test( expected = NullPointerException.class ) > + public void testNullGraah() > + { > + findShortestPath( (WeightedGraph<Vertex, WeightedEdge<Double>, > Double>) null ).from( null ).to( null ).applyingAStar( new DoubleWeight() > ).withHeuristic( null ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullVertices() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + findShortestPath( graph ).from( null ).to( null ).applyingAStar( new > DoubleWeight() ).withHeuristic( null ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullHeuristic() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + findShortestPath( graph ).from( new BaseLabeledVertex( "a" ) ).to( > new BaseLabeledVertex( "b" ) ).applyingAStar( new DoubleWeight() > ).withHeuristic( null ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullMonoid() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + final BaseLabeledVertex a = new BaseLabeledVertex( "a" ); > + final BaseLabeledVertex b = new BaseLabeledVertex( "b" ); > + graph.addVertex( a ); > + graph.addVertex( b ); > + > + final Map<BaseLabeledVertex, Double> heuristics = new > HashMap<BaseLabeledVertex, Double>(); > + > + Heuristic<BaseLabeledVertex, Double> heuristic = new > Heuristic<BaseLabeledVertex, Double>() > + { > + > + public Double applyHeuristic( BaseLabeledVertex current, > BaseLabeledVertex goal ) > + { > + return heuristics.get( current ); > + } > + > + }; > + > + findShortestPath( graph ).from( a ).to( b ).applyingAStar( null > ).withHeuristic( heuristic ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = PathNotFoundException.class ) > + public void testNotConnectGraph() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + final BaseLabeledVertex a = new BaseLabeledVertex( "a" ); > + final BaseLabeledVertex b = new BaseLabeledVertex( "b" ); > + graph.addVertex( a ); > + graph.addVertex( b ); > + > + final Map<BaseLabeledVertex, Double> heuristics = new > HashMap<BaseLabeledVertex, Double>(); > + > + Heuristic<BaseLabeledVertex, Double> heuristic = new > Heuristic<BaseLabeledVertex, Double>() > + { > + > + public Double applyHeuristic( BaseLabeledVertex current, > BaseLabeledVertex goal ) > + { > + return heuristics.get( current ); > + } > + > + }; > + > + findShortestPath( graph ).from( a ).to( b ).applyingAStar( new > DoubleWeight() ).withHeuristic( heuristic ); > + fail( "Path not found Exception not cathed" ); > + } > + > /** > * Test Graph and Dijkstra's solution can be seen on > * <a > href="http://en.wikipedia.org/wiki/A*_search_algorithm">Wikipedia</a> > > Modified: > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/BellmannFordTestCase.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/BellmannFordTestCase.java?rev=1244234&r1=1244233&r2=1244234&view=diff > ============================================================================== > --- > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/BellmannFordTestCase.java > (original) > +++ > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/BellmannFordTestCase.java > Tue Feb 14 22:08:26 2012 > @@ -19,20 +19,84 @@ package org.apache.commons.graph.shortes > * under the License. > */ > > -import static org.apache.commons.graph.CommonsGraph.findShortestPath; > import static junit.framework.Assert.assertEquals; > +import static org.apache.commons.graph.CommonsGraph.findShortestPath; > +import static org.junit.Assert.fail; > > +import org.apache.commons.graph.Vertex; > +import org.apache.commons.graph.WeightedEdge; > +import org.apache.commons.graph.WeightedGraph; > import org.apache.commons.graph.WeightedPath; > import org.apache.commons.graph.model.BaseLabeledVertex; > import org.apache.commons.graph.model.BaseLabeledWeightedEdge; > import org.apache.commons.graph.model.DirectedMutableWeightedGraph; > import org.apache.commons.graph.model.InMemoryWeightedPath; > +import org.apache.commons.graph.model.UndirectedMutableWeightedGraph; > import org.apache.commons.graph.weight.primitive.DoubleWeight; > import org.junit.Test; > > public final class BellmannFordTestCase > { > > + @Test( expected = NullPointerException.class ) > + public void testNullGraah() > + { > + // the actual weighted path > + findShortestPath( (WeightedGraph<Vertex, WeightedEdge<Double>, > Double>) null ).from( null ).applyingBelmannFord( new DoubleWeight() ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullVertices() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + // the actual weighted path > + AllVertexPairsShortestPath<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> allVertexPairsShortestPath = > + findShortestPath( graph ).from( null ).applyingBelmannFord( new > DoubleWeight() ); > + > + allVertexPairsShortestPath.findShortestPath( null, null ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullMonoid() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + final BaseLabeledVertex a = new BaseLabeledVertex( "a" ); > + final BaseLabeledVertex b = new BaseLabeledVertex( "b" ); > + graph.addVertex( a ); > + graph.addVertex( b ); > + > + // the actual weighted path > + AllVertexPairsShortestPath<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> allVertexPairsShortestPath = > + findShortestPath( graph ).from( a ).applyingBelmannFord( null ); > + > + allVertexPairsShortestPath.findShortestPath( a, b ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = PathNotFoundException.class ) > + public void testNotConnectGraph() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + final BaseLabeledVertex a = new BaseLabeledVertex( "a" ); > + final BaseLabeledVertex b = new BaseLabeledVertex( "b" ); > + graph.addVertex( a ); > + graph.addVertex( b ); > + > + // the actual weighted path > + AllVertexPairsShortestPath<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> allVertexPairsShortestPath = > + findShortestPath( graph ).from( a ).applyingBelmannFord( new > DoubleWeight() ); > + > + allVertexPairsShortestPath.findShortestPath( a, b ); > + } > + > /** > * Test Graph and Dijkstra's solution can be seen on > * <a > href="http://compprog.wordpress.com/2007/11/29/one-source-shortest-path-the-bellman-ford-algorithm/">Wikipedia</a> > > Modified: > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/DijkstraTestCase.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/DijkstraTestCase.java?rev=1244234&r1=1244233&r2=1244234&view=diff > ============================================================================== > --- > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/DijkstraTestCase.java > (original) > +++ > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/DijkstraTestCase.java > Tue Feb 14 22:08:26 2012 > @@ -21,18 +21,75 @@ package org.apache.commons.graph.shortes > > import static junit.framework.Assert.assertEquals; > import static org.apache.commons.graph.CommonsGraph.findShortestPath; > +import static org.junit.Assert.fail; > > import org.apache.commons.graph.Path; > +import org.apache.commons.graph.Vertex; > +import org.apache.commons.graph.WeightedEdge; > +import org.apache.commons.graph.WeightedGraph; > import org.apache.commons.graph.model.BaseLabeledVertex; > import org.apache.commons.graph.model.BaseLabeledWeightedEdge; > import org.apache.commons.graph.model.DirectedMutableWeightedGraph; > import org.apache.commons.graph.model.InMemoryWeightedPath; > +import org.apache.commons.graph.model.UndirectedMutableWeightedGraph; > import org.apache.commons.graph.weight.primitive.DoubleWeight; > import org.junit.Test; > > public final class DijkstraTestCase > { > > + @Test( expected = NullPointerException.class ) > + public void testNullGraah() > + { > + // the actual weighted path > + findShortestPath( (WeightedGraph<Vertex, WeightedEdge<Double>, > Double>) null ).from( null ).to( null ).applyingDijkstra( new DoubleWeight() > ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullVertices() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + // the actual weighted path > + findShortestPath( graph ).from( null ).to( null ).applyingDijkstra( > new DoubleWeight() ); > + > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = NullPointerException.class ) > + public void testNullMonoid() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + final BaseLabeledVertex a = new BaseLabeledVertex( "a" ); > + final BaseLabeledVertex b = new BaseLabeledVertex( "b" ); > + graph.addVertex( a ); > + graph.addVertex( b ); > + > + // the actual weighted path > + findShortestPath( graph ).from( a ).to( b ).applyingDijkstra( null ); > + > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = PathNotFoundException.class ) > + public void testNotConnectGraph() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + final BaseLabeledVertex a = new BaseLabeledVertex( "a" ); > + final BaseLabeledVertex b = new BaseLabeledVertex( "b" ); > + graph.addVertex( a ); > + graph.addVertex( b ); > + > + // the actual weighted path > + findShortestPath( graph ).from( a ).to( b ).applyingDijkstra( new > DoubleWeight() ); > + } > + > /** > * Test Graph and Dijkstra's solution can be seen on > * <a > href="http://en.wikipedia.org/wiki/Dijkstra's_algorithm>Wikipedia</a> > > Modified: > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/FloydWarshallTestCase.java > URL: > http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/FloydWarshallTestCase.java?rev=1244234&r1=1244233&r2=1244234&view=diff > ============================================================================== > --- > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/FloydWarshallTestCase.java > (original) > +++ > commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/shortestpath/FloydWarshallTestCase.java > Tue Feb 14 22:08:26 2012 > @@ -26,6 +26,8 @@ import static org.apache.commons.graph.C > > import org.apache.commons.graph.MutableGraph; > import org.apache.commons.graph.UndirectedGraph; > +import org.apache.commons.graph.Vertex; > +import org.apache.commons.graph.WeightedEdge; > import org.apache.commons.graph.WeightedGraph; > import org.apache.commons.graph.WeightedPath; > import org.apache.commons.graph.model.BaseLabeledVertex; > @@ -41,6 +43,33 @@ import org.junit.Test; > public class FloydWarshallTestCase > { > > + @Test( expected = NullPointerException.class ) > + public void testNullGraah() > + { > + // the actual weighted path > + findShortestPath( (WeightedGraph<Vertex, WeightedEdge<Double>, > Double>) null ).from( null ).to( null ).applyingDijkstra( new DoubleWeight() > ); > + fail( "Null Pointer Exception not catched" ); > + } > + > + @Test( expected = PathNotFoundException.class ) > + public void testNotConnectGraph() > + { > + UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> graph = > + new UndirectedMutableWeightedGraph<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double>(); > + > + final BaseLabeledVertex a = new BaseLabeledVertex( "a" ); > + final BaseLabeledVertex b = new BaseLabeledVertex( "b" ); > + graph.addVertex( a ); > + graph.addVertex( b ); > + > + // the actual weighted path > + AllVertexPairsShortestPath<BaseLabeledVertex, > BaseLabeledWeightedEdge<Double>, Double> p = > + findShortestPath( graph ).applyingFloydWarshall( new > DoubleWeight() ); > + > + p.findShortestPath( a, b ); > + fail( "PathNotFoundException not catched" ); > + } > + > @Test > public void undirectedShortestPath() > { > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org