Sorry, the previous commit was uncorrect. Erasing is now possible on edges, but on nodes not.
6 #include <lemon/graph_utils.h>
8 #include <lemon/list_graph.h>
9 #include <lemon/smart_graph.h>
10 #include <lemon/full_graph.h>
12 #include "test_tools.h"
13 #include "graph_utils_test.h"
16 using namespace lemon;
22 typename Graph::Node n1=g.addNode();
23 typename Graph::Node n2=g.addNode();
25 InDegMap<Graph> ind(g);
29 typename Graph::SnapShot snap(g);
31 OutDegMap<Graph> outd(g);
33 check(ind[n1]==0 && ind[n2]==1, "Wrong InDegMap value.");
34 check(outd[n1]==1 && outd[n2]==0, "Wrong OutDegMap value.");
39 check(ind[n1]==1 && ind[n2]==2, "Wrong InDegMap value.");
40 check(outd[n1]==2 && outd[n2]==1, "Wrong OutDegMap value.");
44 check(ind[n1]==0 && ind[n2]==1, "Wrong InDegMap value.");
45 check(outd[n1]==1 && outd[n2]==0, "Wrong OutDegMap value.");
51 { // checking list graph
52 checkGraphCounters<ListGraph>();
54 { // checking smart graph
55 checkGraphCounters<SmartGraph>();
60 check(countNodes(fg) == num, "FullGraph: wrong node number.");
61 check(countEdges(fg) == num*num, "FullGraph: wrong edge number.");
64 //check In/OutDegMap (and SnapShot feature)
66 checkSnapDeg<ListGraph>();
67 checkSnapDeg<SmartGraph>();
71 std::cout << __FILE__ ": All tests passed.\n";