[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