6 #include <lemon/concept/graph.h>
 
     7 #include <lemon/list_graph.h>
 
     8 #include <lemon/smart_graph.h>
 
     9 #include <lemon/full_graph.h>
 
    10 #include <lemon/hypercube_graph.h>
 
    12 #include "test_tools.h"
 
    13 #include "graph_test.h"
 
    17 using namespace lemon;
 
    18 using namespace lemon::concept;
 
    22   { // checking graph components
 
    23     checkConcept<BaseGraphComponent, BaseGraphComponent >();
 
    25     checkConcept<BaseIterableGraphComponent, BaseIterableGraphComponent >();
 
    27     checkConcept<IDableGraphComponent, IDableGraphComponent >();
 
    28     checkConcept<MaxIDableGraphComponent, MaxIDableGraphComponent >();
 
    30     checkConcept<BaseExtendableGraphComponent, BaseExtendableGraphComponent >();
 
    31     checkConcept<BaseErasableGraphComponent, BaseErasableGraphComponent >();
 
    33     checkConcept<IterableGraphComponent, IterableGraphComponent >();
 
    35     checkConcept<MappableGraphComponent, MappableGraphComponent >();
 
    37     checkConcept<ExtendableGraphComponent, ExtendableGraphComponent >();
 
    38     checkConcept<ErasableGraphComponent, ErasableGraphComponent >();
 
    39     checkConcept<ClearableGraphComponent, ClearableGraphComponent >();
 
    41   { // checking skeleton graphs
 
    42     checkConcept<StaticGraph, StaticGraph >();
 
    43     checkConcept<ExtendableGraph, ExtendableGraph >();
 
    44     checkConcept<ErasableGraph, ErasableGraph >();
 
    46   { // checking list graph
 
    47     checkConcept<ErasableGraph, ListGraph >();
 
    49     checkGraph<ListGraph>();
 
    50     checkGraphNodeMap<ListGraph>();
 
    51     checkGraphEdgeMap<ListGraph>();
 
    53   { // checking smart graph
 
    54     checkConcept<ExtendableGraph, SmartGraph >();
 
    56     checkGraph<SmartGraph>();
 
    57     checkGraphNodeMap<SmartGraph>();
 
    58     checkGraphEdgeMap<SmartGraph>();
 
    60   { // checking full graph
 
    61     checkConcept<StaticGraph, FullGraph >();
 
    63   { // checking full graph
 
    64     checkConcept<StaticGraph, HyperCubeGraph >();
 
    67   std::cout << __FILE__ ": All tests passed.\n";