Changeset 1568:f694f75de683 in lemon0.x for test/graph_utils_test.h
 Timestamp:
 07/18/05 17:10:22 (16 years ago)
 Branch:
 default
 Phase:
 public
 Convert:
 svn:c9d7d8f590d60310b91f818b3a526b0e/lemon/trunk@2067
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

test/graph_utils_test.h
r1435 r1568 19 19 20 20 #include "test_tools.h" 21 #include <cstdlib> 22 #include <ctime> 21 23 22 24 //! \ingroup misc … … 38 40 } 39 41 } 42 43 template <typename Graph> 44 void checkFindEdge() { 45 typedef typename Graph::Node Node; 46 typedef typename Graph::Edge Edge; 47 typedef typename Graph::NodeIt NodeIt; 48 typedef typename Graph::EdgeIt EdgeIt; 49 Graph graph; 50 srand(time(0)); 51 for (int i = 0; i < 10; ++i) { 52 graph.addNode(); 53 } 54 DescriptorMap<Graph, Node> nodes(graph); 55 typename DescriptorMap<Graph, Node>::InverseMap invNodes(nodes); 56 for (int i = 0; i < 100; ++i) { 57 int src = (int)(rand() / (RAND_MAX + 1.0) * invNodes.size()); 58 int trg = (int)(rand() / (RAND_MAX + 1.0) * invNodes.size()); 59 graph.addEdge(invNodes[src], invNodes[trg]); 60 } 61 typename Graph::template EdgeMap<bool> found(graph, false); 62 DescriptorMap<Graph, Edge> edges(graph); 63 for (NodeIt src(graph); src != INVALID; ++src) { 64 for (NodeIt trg(graph); trg != INVALID; ++trg) { 65 for (ConEdgeIt<Graph> con(graph, src, trg); con != INVALID; ++con) { 66 check(graph.source(con) == src, "Wrong source."); 67 check(graph.target(con) == trg, "Wrong target."); 68 check(found[con] == false, "The edge found already."); 69 found[con] = true; 70 } 71 } 72 } 73 for (EdgeIt it(graph); it != INVALID; ++it) { 74 check(found[it] == true, "The edge is not found."); 75 } 76 } 40 77 41 78 } //namespace lemon
Note: See TracChangeset
for help on using the changeset viewer.