KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jgrapht > alg > DijkstraShortestPathTest


1 /* ==========================================
2  * JGraphT : a free Java graph-theory library
3  * ==========================================
4  *
5  * Project Info: http://jgrapht.sourceforge.net/
6  * Project Creator: Barak Naveh (http://sourceforge.net/users/barak_naveh)
7  *
8  * (C) Copyright 2003-2006, by Barak Naveh and Contributors.
9  *
10  * This library is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation; either version 2.1 of the License, or
13  * (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18  * License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this library; if not, write to the Free Software Foundation,
22  * Inc.,
23  * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
24  */

25 /* ------------------------------
26  * DijkstraShortestPathTest.java
27  * ------------------------------
28  * (C) Copyright 2003-2006, by John V. Sichi and Contributors.
29  *
30  * Original Author: John V. Sichi
31  * Contributor(s): -
32  *
33  * $Id: DijkstraShortestPathTest.java 504 2006-07-03 02:37:26Z perfecthash $
34  *
35  * Changes
36  * -------
37  * 03-Sept-2003 : Initial revision (JVS);
38  * 14-Jan-2006 : Factored out ShortestPathTestCase (JVS);
39  *
40  */

41 package org.jgrapht.alg;
42
43 import java.util.*;
44
45 import org.jgrapht.*;
46 import org.jgrapht.graph.*;
47
48
49 /**
50  * .
51  *
52  * @author John V. Sichi
53  */

54 public class DijkstraShortestPathTest
55     extends ShortestPathTestCase
56 {
57
58     //~ Methods ---------------------------------------------------------------
59

60     /**
61      * .
62      */

63     public void testConstructor()
64     {
65         DijkstraShortestPath<String JavaDoc, DefaultWeightedEdge> path;
66         Graph<String JavaDoc, DefaultWeightedEdge> g = create();
67
68         path =
69             new DijkstraShortestPath<String JavaDoc, DefaultWeightedEdge>(
70                 g,
71                 V3,
72                 V4,
73                 Double.POSITIVE_INFINITY);
74         assertEquals(
75             Arrays.asList(new DefaultEdge [] {
76                     e13,
77                     e12,
78                     e24
79                 }),
80             path.getPathEdgeList());
81         assertEquals(10.0, path.getPathLength(), 0);
82
83         path =
84             new DijkstraShortestPath<String JavaDoc, DefaultWeightedEdge>(
85                 g,
86                 V3,
87                 V4,
88                 7);
89         assertNull(path.getPathEdgeList());
90         assertEquals(Double.POSITIVE_INFINITY, path.getPathLength(), 0);
91     }
92
93     protected List findPathBetween(
94         Graph<String JavaDoc, DefaultWeightedEdge> g,
95         String JavaDoc src,
96         String JavaDoc dest)
97     {
98         return DijkstraShortestPath.findPathBetween(g, src, dest);
99     }
100 }
101
Popular Tags