lib/a_star: adds a larger test
authorAlexis Laferrière <alexis.laf@xymus.net>
Sun, 3 Nov 2013 02:29:19 +0000 (22:29 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Thu, 7 Nov 2013 04:41:33 +0000 (23:41 -0500)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/a_star.nit
tests/sav/test_a_star.sav
tests/test_a_star.nit

index 98a905f..f117ec6 100644 (file)
 #    var nd = new Node(graph)
 #    var ne = new Node(graph)
 #
-#    var lab = new WeigthedLink[Node](graph, na, nb, 2)
-#    var lac = new WeigthedLink[Node](graph, na, nc, 3)
-#    var lbd = new WeigthedLink[Node](graph, nb, nd, 1)
-#    var lcd = new WeigthedLink[Node](graph, nc, nd, 3)
-#    var lde = new WeigthedLink[Node](graph, nd, ne, 8)
+#    var lab = new WeightedLink(graph, na, nb, 2)
+#    var lac = new WeightedLink(graph, na, nc, 3)
+#    var lbd = new WeightedLink(graph, nb, nd, 1)
+#    var lcd = new WeightedLink(graph, nc, nd, 3)
+#    var lde = new WeightedLink(graph, nd, ne, 8)
 #
-#    var context = new WeightedPathContext[Node, WeigthedLink[Node]](graph)
+#    var context = new WeightedPathContext(graph)
 #
 #    var path = na.path_to(ne, 100, context)
 #    assert path != null else print "No possible path"
index 1a02953..fd8d033 100644 (file)
@@ -2,3 +2,4 @@ c, d, e
 null path
 b, d, e
 null path
+b, f, g, h, i, j
index 4d04c09..9223e56 100644 (file)
@@ -140,7 +140,48 @@ do
        print_path(path)
 end
 
+# Big weighted graph
+#     a -2- b -1- f -1- g
+#    /     /       \   /
+#   3     1        4  1
+#  /     /         \ /
+# c -3- d -8- e -2- h -2- i -3- j
+fun case_weighted_big
+do
+       var graph = new Graph[NamedNode,WeightedLink]
+
+       var na = new NamedNode(graph, "a")
+       var nb = new NamedNode(graph, "b")
+       var nc = new NamedNode(graph, "c")
+       var nd = new NamedNode(graph, "d")
+       var ne = new NamedNode(graph, "e")
+       var nf = new NamedNode(graph, "f")
+       var ng = new NamedNode(graph, "g")
+       var nh = new NamedNode(graph, "h")
+       var ni = new NamedNode(graph, "i")
+       var nj = new NamedNode(graph, "j")
+
+       var lab = new WeightedLink(graph, na, nb, 2)
+       var lac = new WeightedLink(graph, na, nc, 3)
+       var lbd = new WeightedLink(graph, nb, nd, 1)
+       var lcd = new WeightedLink(graph, nc, nd, 3)
+       var lde = new WeightedLink(graph, nd, ne, 8)
+       var lbf = new WeightedLink(graph, nb, nf, 1)
+       var lfg = new WeightedLink(graph, nf, ng, 1)
+       var leh = new WeightedLink(graph, ne, nh, 2)
+       var lhi = new WeightedLink(graph, nh, ni, 2)
+       var lij = new WeightedLink(graph, ni, nj, 3)
+       var lfh = new WeightedLink(graph, nf, nh, 4)
+       var lgh = new WeightedLink(graph, ng, nh, 1)
+
+       var context = new WeightedPathContext(graph)
+
+       var path = na.path_to(nj, 100, context)
+       print_path(path)
+end
+
 case_simple
 case_failed
 case_weighted
 case_weighted_too_long
+case_weighted_big