2 * test/graph_adaptor_test.cc - Part of LEMON, a generic C++ optimization library
4 * Copyright (C) 2006 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
5 * (Egervary Research Group on Combinatorial Optimization, 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/concept_check.h>
20 #include<lemon/smart_graph.h>
21 #include<lemon/concept/graph.h>
22 #include<lemon/concept/undir_graph.h>
24 #include<lemon/list_graph.h>
25 #include<lemon/full_graph.h>
26 #include<lemon/graph_adaptor.h>
28 #include"test/test_tools.h"
29 #include"test/graph_test.h"
33 This test makes consistency checks of graph adaptors.
35 \todo More extensive tests are needed
38 using namespace lemon;
39 using namespace lemon::concept;
46 typedef StaticGraph Graph;
47 checkConcept<StaticGraph, GraphAdaptor<Graph> >();
49 checkConcept<StaticGraph, RevGraphAdaptor<Graph> >();
51 checkConcept<StaticGraph, SubGraphAdaptor<Graph,
52 Graph::NodeMap<bool> , Graph::EdgeMap<bool> > >();
53 checkConcept<StaticGraph, NodeSubGraphAdaptor<Graph,
54 Graph::NodeMap<bool> > >();
55 checkConcept<StaticGraph, EdgeSubGraphAdaptor<Graph,
56 Graph::EdgeMap<bool> > >();
58 checkConcept<StaticGraph, SubBidirGraphAdaptor<Graph,
59 Graph::EdgeMap<bool>, Graph::EdgeMap<bool> > >();
60 // checkConcept<StaticGraph, BidirGraph<Graph> >();
61 checkConcept<StaticGraph, ResGraphAdaptor<Graph, int,
62 Graph::EdgeMap<int>, Graph::EdgeMap<int> > >();
64 checkConcept<StaticGraph, ErasingFirstGraphAdaptor<Graph,
65 Graph::NodeMap<Graph::Edge> > >();
67 /// \bug why does not compile with StaticGraph
68 checkConcept<BaseIterableUndirGraphConcept, UndirGraphAdaptor<ListGraph> >();
69 checkConcept<IterableUndirGraphConcept, UndirGraphAdaptor<ListGraph> >();
70 checkConcept<MappableUndirGraphConcept, UndirGraphAdaptor<ListGraph> >();
72 std::cout << __FILE__ ": All tests passed.\n";