[Lemon-commits] [lemon_svn] athos: r685 - hugo/trunk/src/work/athos

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


Author: athos
Date: Tue May  4 11:33:21 2004
New Revision: 685

Added:
   hugo/trunk/src/work/athos/minlengthpaths_test.cc
      - copied, changed from r682, /hugo/trunk/src/test/minlengthpaths_test.cc
Modified:
   hugo/trunk/src/work/athos/minlengthpaths.h

Log:
Created minlengthpaths_test.cc. Compiles with: g++-3.0 -Wall -I. -I../{klao,jacint,marci} -I.. -I../../include minlengthpaths_test.cc -o min | & less

Modified: hugo/trunk/src/work/athos/minlengthpaths.h
==============================================================================
--- hugo/trunk/src/work/athos/minlengthpaths.h	(original)
+++ hugo/trunk/src/work/athos/minlengthpaths.h	Tue May  4 11:33:21 2004
@@ -187,7 +187,7 @@
       typename DirPath::Builder B(p);
       for(typename std::vector<Edge>::iterator i=paths[j].begin(); 
 	  i!=paths[j].end(); ++i ){
-	B.pushBack(*j);
+	B.pushBack(*i);
       }
 
       B.commit();

Copied: hugo/trunk/src/work/athos/minlengthpaths_test.cc (from r682, /hugo/trunk/src/test/minlengthpaths_test.cc)
==============================================================================
--- /hugo/trunk/src/test/minlengthpaths_test.cc	(original)
+++ hugo/trunk/src/work/athos/minlengthpaths_test.cc	Tue May  4 11:33:21 2004
@@ -1,16 +1,13 @@
 #include <iostream>
 #include <list_graph.h>
 #include <minlengthpaths.h>
+#include <path.h>
+
 using namespace std;
 using namespace hugo;
 
 
 
-int main()
-{
-
-  
-
 bool passed = true;
 
 void check(bool rc, char *msg="") {
@@ -35,13 +32,15 @@
   //Ahuja könyv példája
 
   Node s=graph.addNode();
+  Node v1=graph.addNode();  
   Node v2=graph.addNode();
   Node v3=graph.addNode();
   Node v4=graph.addNode();
   Node v5=graph.addNode();
   Node t=graph.addNode();
 
-  Edge s_v2=graph.addEdge(s, v2);
+  Edge s_v1=graph.addEdge(s, v1);
+  Edge v1_v2=graph.addEdge(v1, v2);
   Edge s_v3=graph.addEdge(s, v3);
   Edge v2_v4=graph.addEdge(v2, v4);
   Edge v2_v5=graph.addEdge(v2, v5);
@@ -52,7 +51,8 @@
 
   ListGraph::EdgeMap<int> length(graph);
 
-  length.set(s_v2, 10);
+  length.set(s_v1, 6);
+  length.set(v1_v2, 4);
   length.set(s_v3, 10);
   length.set(v2_v4, 5);
   length.set(v2_v5, 1);
@@ -64,13 +64,25 @@
 
   
   int k=3;
-  MinLengthPaths<ListGraph, ListGraph::EdgeMap<int> >
+  MinLengthPaths< ListGraph, ListGraph::EdgeMap<int> >
     surb_test(graph, length);
 
-  check(  surb_test.run(s,t,k) == 2 && suurb_test.totalLength == 46,"Two paths, total length should be 46");
+  check(  surb_test.run(s,t,k) == 2 && surb_test.totalLength() == 46,"Two paths, total length should be 46");
+
+  typedef DirPath<ListGraph> DPath;
+  DPath P(graph);
+
+  surb_test.getPath(P,0);
+  check(P.length() == 4, "First path should contain 4 edges.");  
 
+  surb_test.getPath(P,1);
+  check(P.length() == 3, "Second path: 3 edges.");
+  
   k=1;
-  check(  surb_test.run(s,t,k) == 1 && suurb_test.totalLength == 19,"One path, total length should be 19");
+  check(  surb_test.run(s,t,k) == 1 && surb_test.totalLength() == 19,"One path, total length should be 19");
+ 
+  surb_test.getPath(P,0);
+  check(P.length() == 4, "First path should contain 4 edges.");  
 
   cout << (passed ? "All tests passed." : "Some of the tests failed!!!")
        << endl;



More information about the Lemon-commits mailing list