2 * src/test/graph_wrapper_test.cc - Part of LEMON, a generic C++ optimization library
4 * Copyright (C) 2004 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
5 * (Egervary Combinatorial Optimization Research Group, EGRES).
7 * Permission to use, modify and distribute this software is granted
8 * provided that this copyright notice appears in all copies. For
9 * precise terms see the accompanying LICENSE file.
11 * This software is provided "AS IS" with no warranty of any kind,
12 * express or implied, and with no claim as to its suitability for any
18 #include<lemon/smart_graph.h>
19 #include<lemon/skeletons/graph.h>
20 #include<lemon/list_graph.h>
21 #include<lemon/full_graph.h>
22 #include<lemon/graph_wrapper.h>
24 #include"test/test_tools.h"
25 #include"test/graph_test.h"
29 This test makes consistency checks of graph wrappers.
31 \todo More extensive tests are needed
34 using namespace lemon;
37 typedef SmartGraph Graph;
39 //Compile GraphWrapper
40 typedef GraphWrapper<Graph> GW;
41 template void lemon::skeleton::checkCompileStaticGraph<GW>(GW &);
43 //Compile RevGraphWrapper
44 typedef RevGraphWrapper<Graph> RevGW;
45 template void lemon::skeleton::checkCompileStaticGraph<RevGW>(RevGW &);
47 //Compile SubGraphWrapper
48 typedef SubGraphWrapper<Graph, Graph::NodeMap<bool>,
49 Graph::EdgeMap<bool> > SubGW;
50 template void lemon::skeleton::checkCompileStaticGraph<SubGW>(SubGW &);
52 //Compile NodeSubGraphWrapper
53 typedef NodeSubGraphWrapper<Graph, Graph::NodeMap<bool> > NodeSubGW;
54 template void lemon::skeleton::checkCompileStaticGraph<NodeSubGW>(NodeSubGW &);
56 //Compile EdgeSubGraphWrapper
57 typedef EdgeSubGraphWrapper<Graph, Graph::EdgeMap<bool> > EdgeSubGW;
58 template void lemon::skeleton::checkCompileStaticGraph<EdgeSubGW>(EdgeSubGW &);
60 //Compile UndirGraphWrapper
61 /// \bug UndirGraphWrapper cannot pass the StaticGraph test
62 //typedef UndirGraphWrapper<Graph> UndirGW;
63 //template void checkCompileStaticGraph<UndirGW>(UndirGW &);
66 //typedef UndirGraph<Graph> UndirG;
67 //template void checkCompileStaticGraph<UndirG>(UndirG &);
69 //Compile SubBidirGraphWrapper
70 typedef SubBidirGraphWrapper<Graph, Graph::EdgeMap<bool>,
71 Graph::EdgeMap<bool> > SubBDGW;
72 template void lemon::skeleton::checkCompileStaticGraph<SubBDGW>(SubBDGW &);
74 //Compile BidirGraphWrapper
75 typedef BidirGraphWrapper<Graph> BidirGW;
76 template void lemon::skeleton::checkCompileStaticGraph<BidirGW>(BidirGW &);
79 typedef BidirGraph<Graph> BidirG;
80 template void lemon::skeleton::checkCompileStaticGraph<BidirG>(BidirG &);
82 //Compile ResGraphWrapper
83 typedef ResGraphWrapper<Graph, int, Graph::EdgeMap<int>,
84 Graph::EdgeMap<int> > ResGW;
85 template void lemon::skeleton::checkCompileStaticGraph<ResGW>(ResGW &);
87 //Compile ErasingFirstGraphWrapper
88 typedef ErasingFirstGraphWrapper<Graph, Graph::NodeMap<Graph::Edge> > ErasingFirstGW;
90 void lemon::skeleton::checkCompileStaticGraph<ErasingFirstGW>(ErasingFirstGW &);
95 std::cout << __FILE__ ": All tests passed.\n";