[Lemon-commits] [lemon_svn] alpar: r762 - hugo/trunk/src/test

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:41:22 CET 2006


Author: alpar
Date: Sat May  8 18:00:57 2004
New Revision: 762

Modified:
   hugo/trunk/src/test/dijkstra_test.cc

Log:
Some more test cases.

Modified: hugo/trunk/src/test/dijkstra_test.cc
==============================================================================
--- hugo/trunk/src/test/dijkstra_test.cc	(original)
+++ hugo/trunk/src/test/dijkstra_test.cc	Sat May  8 18:00:57 2004
@@ -73,5 +73,26 @@
   dijkstra_test.run(s);
   
   check(dijkstra_test.dist(t)==13,"Dijkstra found a wrong path.");
-  
+
+
+  for(EdgeIt e(G); G.valid(e); G.next(e)) {
+    Node u=G.tail(e);
+    Node v=G.head(e);
+    check( !dijkstra_test.reached(u) ||
+	   (dijkstra_test.dist(v) - dijkstra_test.dist(u) <= cap[e]),
+	   "dist(head)-dist(tail)- edge_length= " 
+	   << dijkstra_test.dist(v) - dijkstra_test.dist(u) 
+	   - cap[e]);
+  }
+
+  ///\bug This works only for integer lengths
+  for(NodeIt v(G); G.valid(v); G.next(v))
+    if ( dijkstra_test.reached(v) ) {
+      Edge e=dijkstra_test.pred(v);
+      Node u=G.tail(e);
+      check(dijkstra_test.dist(v) - dijkstra_test.dist(u) == cap[e],
+	    "Bad shortest path tree edge! Difference: " 
+	    << std::abs(dijkstra_test.dist(v) - dijkstra_test.dist(u) 
+			    - cap[e]));
+    }
 }



More information about the Lemon-commits mailing list