diff -r 4b6112235fad -r 76287c8caa26 test/graph_adaptor_test.cc --- a/test/graph_adaptor_test.cc Sun Nov 30 19:00:30 2008 +0100 +++ b/test/graph_adaptor_test.cc Sun Nov 30 19:18:32 2008 +0100 @@ -1,6 +1,6 @@ -/* -*- C++ -*- +/* -*- mode: C++; indent-tabs-mode: nil; -*- * - * This file is a part of LEMON, a generic C++ optimization library + * This file is a part of LEMON, a generic C++ optimization library. * * Copyright (C) 2003-2008 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport @@ -25,8 +25,7 @@ #include #include -#include -#include +#include #include #include @@ -37,11 +36,11 @@ using namespace lemon; -void checkRevDigraphAdaptor() { - checkConcept >(); +void checkReverseDigraph() { + checkConcept >(); typedef ListDigraph Digraph; - typedef RevDigraphAdaptor Adaptor; + typedef ReverseDigraph Adaptor; Digraph digraph; Adaptor adaptor(digraph); @@ -53,7 +52,7 @@ Digraph::Arc a1 = digraph.addArc(n1, n2); Digraph::Arc a2 = digraph.addArc(n1, n3); Digraph::Arc a3 = digraph.addArc(n2, n3); - + checkGraphNodeList(adaptor, 3); checkGraphArcList(adaptor, 3); checkGraphConArcList(adaptor, 3); @@ -78,16 +77,16 @@ } } -void checkSubDigraphAdaptor() { - checkConcept, concepts::Digraph::ArcMap > >(); typedef ListDigraph Digraph; typedef Digraph::NodeMap NodeFilter; typedef Digraph::ArcMap ArcFilter; - typedef SubDigraphAdaptor Adaptor; + typedef SubDigraph Adaptor; Digraph digraph; NodeFilter node_filter(digraph); @@ -123,7 +122,7 @@ checkGraphNodeMap(adaptor); checkGraphArcMap(adaptor); - arc_filter[a2] = false; + arc_filter[a2] = false; checkGraphNodeList(adaptor, 3); checkGraphArcList(adaptor, 2); @@ -143,7 +142,7 @@ checkGraphNodeMap(adaptor); checkGraphArcMap(adaptor); - node_filter[n1] = false; + node_filter[n1] = false; checkGraphNodeList(adaptor, 2); checkGraphArcList(adaptor, 1); @@ -175,14 +174,14 @@ checkGraphArcMap(adaptor); } -void checkNodeSubDigraphAdaptor() { - checkConcept > >(); typedef ListDigraph Digraph; typedef Digraph::NodeMap NodeFilter; - typedef NodeSubDigraphAdaptor Adaptor; + typedef FilterNodes Adaptor; Digraph digraph; NodeFilter node_filter(digraph); @@ -216,7 +215,7 @@ checkGraphNodeMap(adaptor); checkGraphArcMap(adaptor); - node_filter[n1] = false; + node_filter[n1] = false; checkGraphNodeList(adaptor, 2); checkGraphArcList(adaptor, 1); @@ -247,14 +246,14 @@ checkGraphArcMap(adaptor); } -void checkArcSubDigraphAdaptor() { - checkConcept > >(); typedef ListDigraph Digraph; typedef Digraph::ArcMap ArcFilter; - typedef ArcSubDigraphAdaptor Adaptor; + typedef FilterArcs Adaptor; Digraph digraph; ArcFilter arc_filter(digraph); @@ -288,7 +287,7 @@ checkGraphNodeMap(adaptor); checkGraphArcMap(adaptor); - arc_filter[a2] = false; + arc_filter[a2] = false; checkGraphNodeList(adaptor, 3); checkGraphArcList(adaptor, 2); @@ -321,11 +320,11 @@ checkGraphArcMap(adaptor); } -void checkUndirDigraphAdaptor() { - checkConcept >(); +void checkUndirector() { + checkConcept >(); typedef ListDigraph Digraph; - typedef UndirDigraphAdaptor Adaptor; + typedef Undirector Adaptor; Digraph digraph; Adaptor adaptor(digraph); @@ -337,7 +336,7 @@ Digraph::Arc a1 = digraph.addArc(n1, n2); Digraph::Arc a2 = digraph.addArc(n1, n3); Digraph::Arc a3 = digraph.addArc(n2, n3); - + checkGraphNodeList(adaptor, 3); checkGraphArcList(adaptor, 6); checkGraphEdgeList(adaptor, 3); @@ -371,15 +370,15 @@ } -void checkResDigraphAdaptor() { - checkConcept, +void checkResidual() { + checkConcept, concepts::Digraph::ArcMap > >(); typedef ListDigraph Digraph; typedef Digraph::ArcMap IntArcMap; - typedef ResDigraphAdaptor Adaptor; + typedef Residual Adaptor; Digraph digraph; IntArcMap capacity(digraph), flow(digraph); @@ -407,7 +406,7 @@ for (Adaptor::ArcIt a(adaptor); a != INVALID; ++a) { flow[a] = 0; } - + checkGraphNodeList(adaptor, 4); checkGraphArcList(adaptor, 6); checkGraphConArcList(adaptor, 6); @@ -425,7 +424,7 @@ for (Adaptor::ArcIt a(adaptor); a != INVALID; ++a) { flow[a] = capacity[a] / 2; } - + checkGraphNodeList(adaptor, 4); checkGraphArcList(adaptor, 12); checkGraphConArcList(adaptor, 12); @@ -449,7 +448,7 @@ for (Adaptor::ArcIt a(adaptor); a != INVALID; ++a) { flow[a] = capacity[a]; } - + checkGraphNodeList(adaptor, 4); checkGraphArcList(adaptor, 6); checkGraphConArcList(adaptor, 6); @@ -470,17 +469,18 @@ int flow_value = 0; while (true) { - + Bfs bfs(adaptor); bfs.run(n1, n4); - + if (!bfs.reached(n4)) break; Path p = bfs.path(n4); - + int min = std::numeric_limits::max(); for (Path::ArcIt a(p); a != INVALID; ++a) { - if (adaptor.rescap(a) < min) min = adaptor.rescap(a); + if (adaptor.residualCapacity(a) < min) + min = adaptor.residualCapacity(a); } for (Path::ArcIt a(p); a != INVALID; ++a) { @@ -493,11 +493,11 @@ } -void checkSplitDigraphAdaptor() { - checkConcept >(); +void checkSplitNodes() { + checkConcept >(); typedef ListDigraph Digraph; - typedef SplitDigraphAdaptor Adaptor; + typedef SplitNodes Adaptor; Digraph digraph; Adaptor adaptor(digraph); @@ -509,7 +509,7 @@ Digraph::Arc a1 = digraph.addArc(n1, n2); Digraph::Arc a2 = digraph.addArc(n1, n3); Digraph::Arc a3 = digraph.addArc(n2, n3); - + checkGraphNodeList(adaptor, 6); checkGraphArcList(adaptor, 6); checkGraphConArcList(adaptor, 6); @@ -530,17 +530,17 @@ checkNodeIds(adaptor); checkArcIds(adaptor); - + checkGraphNodeMap(adaptor); checkGraphArcMap(adaptor); for (Adaptor::ArcIt a(adaptor); a != INVALID; ++a) { if (adaptor.origArc(a)) { Digraph::Arc oa = a; - check(adaptor.source(a) == adaptor.outNode(digraph.source(oa)), - "Wrong split"); - check(adaptor.target(a) == adaptor.inNode(digraph.target(oa)), - "Wrong split"); + check(adaptor.source(a) == adaptor.outNode(digraph.source(oa)), + "Wrong split"); + check(adaptor.target(a) == adaptor.inNode(digraph.target(oa)), + "Wrong split"); } else { Digraph::Node on = a; check(adaptor.source(a) == adaptor.inNode(on), "Wrong split"); @@ -549,16 +549,16 @@ } } -void checkSubGraphAdaptor() { - checkConcept, concepts::Graph::EdgeMap > >(); typedef ListGraph Graph; typedef Graph::NodeMap NodeFilter; typedef Graph::EdgeMap EdgeFilter; - typedef SubGraphAdaptor Adaptor; + typedef SubGraph Adaptor; Graph graph; NodeFilter node_filter(graph); @@ -607,7 +607,7 @@ checkGraphArcMap(adaptor); checkGraphEdgeMap(adaptor); - edge_filter[e2] = false; + edge_filter[e2] = false; checkGraphNodeList(adaptor, 4); checkGraphArcList(adaptor, 6); @@ -638,7 +638,7 @@ checkGraphArcMap(adaptor); checkGraphEdgeMap(adaptor); - node_filter[n1] = false; + node_filter[n1] = false; checkGraphNodeList(adaptor, 3); checkGraphArcList(adaptor, 4); @@ -684,14 +684,14 @@ checkGraphEdgeMap(adaptor); } -void checkNodeSubGraphAdaptor() { - checkConcept > >(); typedef ListGraph Graph; typedef Graph::NodeMap NodeFilter; - typedef NodeSubGraphAdaptor Adaptor; + typedef FilterNodes Adaptor; Graph graph; NodeFilter node_filter(graph); @@ -738,7 +738,7 @@ checkGraphArcMap(adaptor); checkGraphEdgeMap(adaptor); - node_filter[n1] = false; + node_filter[n1] = false; checkGraphNodeList(adaptor, 3); checkGraphArcList(adaptor, 4); @@ -783,14 +783,14 @@ checkGraphEdgeMap(adaptor); } -void checkEdgeSubGraphAdaptor() { - checkConcept > >(); typedef ListGraph Graph; typedef Graph::EdgeMap EdgeFilter; - typedef EdgeSubGraphAdaptor Adaptor; + typedef FilterEdges Adaptor; Graph graph; EdgeFilter edge_filter(graph); @@ -837,7 +837,7 @@ checkGraphArcMap(adaptor); checkGraphEdgeMap(adaptor); - edge_filter[e2] = false; + edge_filter[e2] = false; checkGraphNodeList(adaptor, 4); checkGraphArcList(adaptor, 6); @@ -885,13 +885,13 @@ checkGraphEdgeMap(adaptor); } -void checkDirGraphAdaptor() { - checkConcept > >(); +void checkOrienter() { + checkConcept > >(); typedef ListGraph Graph; typedef ListGraph::EdgeMap DirMap; - typedef DirGraphAdaptor Adaptor; + typedef Orienter Adaptor; Graph graph; DirMap dir(graph, true); @@ -904,16 +904,16 @@ Graph::Edge e1 = graph.addEdge(n1, n2); Graph::Edge e2 = graph.addEdge(n1, n3); Graph::Edge e3 = graph.addEdge(n2, n3); - + checkGraphNodeList(adaptor, 3); checkGraphArcList(adaptor, 3); checkGraphConArcList(adaptor, 3); - + { dir[e1] = true; Adaptor::Node u = adaptor.source(e1); Adaptor::Node v = adaptor.target(e1); - + dir[e1] = false; check (u == adaptor.target(e1), "Wrong dir"); check (v == adaptor.source(e1), "Wrong dir"); @@ -926,7 +926,7 @@ dir[e2] = true; Adaptor::Node u = adaptor.source(e2); Adaptor::Node v = adaptor.target(e2); - + dir[e2] = false; check (u == adaptor.target(e2), "Wrong dir"); check (v == adaptor.source(e2), "Wrong dir"); @@ -939,7 +939,7 @@ dir[e3] = true; Adaptor::Node u = adaptor.source(e3); Adaptor::Node v = adaptor.target(e3); - + dir[e3] = false; check (u == adaptor.target(e3), "Wrong dir"); check (v == adaptor.source(e3), "Wrong dir"); @@ -967,18 +967,18 @@ int main(int, const char **) { - checkRevDigraphAdaptor(); - checkSubDigraphAdaptor(); - checkNodeSubDigraphAdaptor(); - checkArcSubDigraphAdaptor(); - checkUndirDigraphAdaptor(); - checkResDigraphAdaptor(); - checkSplitDigraphAdaptor(); + checkReverseDigraph(); + checkSubDigraph(); + checkFilterNodes1(); + checkFilterArcs(); + checkUndirector(); + checkResidual(); + checkSplitNodes(); - checkSubGraphAdaptor(); - checkNodeSubGraphAdaptor(); - checkEdgeSubGraphAdaptor(); - checkDirGraphAdaptor(); + checkSubGraph(); + checkFilterNodes2(); + checkFilterEdges(); + checkOrienter(); return 0; }