Changeset 2335:27aa03cd3121 in lemon-0.x for test/path_test.cc
- Timestamp:
- 01/08/07 11:39:59 (17 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3123
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
test/path_test.cc
r2260 r2335 32 32 33 33 void check_concepts() { 34 checkConcept<concepts::Path<concepts::Graph>, 35 concepts::Path<concepts::Graph> >(); 36 checkConcept<concepts::Path<concepts::Graph>, 37 Path<concepts::Graph> >(); 34 checkConcept<concepts::Path<ListGraph>, concepts::Path<ListGraph> >(); 38 35 checkConcept<concepts::Path<ListGraph>, Path<ListGraph> >(); 36 checkConcept<concepts::Path<ListGraph>, SimplePath<ListGraph> >(); 37 checkConcept<concepts::Path<ListGraph>, StaticPath<ListGraph> >(); 38 checkConcept<concepts::Path<ListGraph>, ListPath<ListGraph> >(); 39 39 } 40 40 41 41 int main() { 42 check_concepts(); 43 44 ListGraph g; 45 46 ListGraph::Node n1 = g.addNode(); 47 ListGraph::Node n2 = g.addNode(); 48 ListGraph::Node n3 = g.addNode(); 49 ListGraph::Node n4 = g.addNode(); 50 ListGraph::Node n5 = g.addNode(); 51 52 ListGraph::Edge e1 = g.addEdge(n1, n2); 53 ListGraph::Edge e2 = g.addEdge(n2, n3); 54 ListGraph::Edge e3 = g.addEdge(n3, n4); 55 ListGraph::Edge e4 = g.addEdge(n4, n5); 56 ListGraph::Edge e5 = g.addEdge(n5, n1); 57 58 { 59 Path<ListGraph> p(g); 60 61 check(p.empty(), "Wrong Path"); 62 check(p.length() == 0, "Wrong Path"); 63 64 { 65 Path<ListGraph>::Builder b(p); 66 b.setStartNode(n3); 67 b.commit(); 68 } 69 70 check(!p.empty(), "Wrong Path"); 71 check(p.length() == 0, "Wrong Path"); 72 check(p.source() == n3, "Wrong Path"); 73 check(p.target() == n3, "Wrong Path"); 74 75 { 76 Path<ListGraph>::Builder b(p); 77 b.pushBack(e3); 78 b.pushBack(e4); 79 b.pushFront(e2); 80 b.commit(); 81 } 82 83 check(!p.empty(), "Wrong Path"); 84 check(p.length() == 3, "Wrong Path"); 85 check(p.source() == n2, "Wrong Path"); 86 check(p.target() == n5, "Wrong Path"); 87 88 { 89 Path<ListGraph>::NodeIt it(p); 90 check((ListGraph::Node)it == n2, "Wrong Path"); ++it; 91 check((ListGraph::Node)it == n3, "Wrong Path"); ++it; 92 check((ListGraph::Node)it == n4, "Wrong Path"); ++it; 93 check((ListGraph::Node)it == n5, "Wrong Path"); ++it; 94 check((ListGraph::Node)it == INVALID, "Wrong Path"); 95 } 96 97 { 98 Path<ListGraph>::EdgeIt it(p); 99 check((ListGraph::Edge)it == e2, "Wrong Path"); ++it; 100 check((ListGraph::Edge)it == e3, "Wrong Path"); ++it; 101 check((ListGraph::Edge)it == e4, "Wrong Path"); ++it; 102 check((ListGraph::Edge)it == INVALID, "Wrong Path"); 103 } 104 105 } 106 42 check_concepts(); 107 43 return 0; 108 44 }
Note: See TracChangeset
for help on using the changeset viewer.