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, <[email protected]> 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: [email protected]
For additional commands, e-mail: [email protected]