src/test/graph_test.cc
changeset 1435 8e85e6bbefdf
parent 1022 567f392d1d2e
equal deleted inserted replaced
31:6f9bb446101a -1:000000000000
     1 // -*- c++ -*-
       
     2 
       
     3 #include <iostream>
       
     4 #include <vector>
       
     5 
       
     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 
       
    11 #include "test_tools.h"
       
    12 #include "graph_test.h"
       
    13 #include "map_test.h"
       
    14 
       
    15 
       
    16 using namespace lemon;
       
    17 using namespace lemon::concept;
       
    18 
       
    19 
       
    20 int main() {
       
    21   { // checking graph components
       
    22     checkConcept<BaseGraphComponent, BaseGraphComponent >();
       
    23 
       
    24     checkConcept<BaseIterableGraphComponent, BaseIterableGraphComponent >();
       
    25 
       
    26     checkConcept<IDableGraphComponent, IDableGraphComponent >();
       
    27     checkConcept<MaxIDableGraphComponent, MaxIDableGraphComponent >();
       
    28 
       
    29     checkConcept<BaseExtendableGraphComponent, BaseExtendableGraphComponent >();
       
    30     checkConcept<BaseErasableGraphComponent, BaseErasableGraphComponent >();
       
    31 
       
    32     checkConcept<IterableGraphComponent, IterableGraphComponent >();
       
    33 
       
    34     checkConcept<MappableGraphComponent, MappableGraphComponent >();
       
    35 
       
    36     checkConcept<ExtendableGraphComponent, ExtendableGraphComponent >();
       
    37     checkConcept<ErasableGraphComponent, ErasableGraphComponent >();
       
    38     checkConcept<ClearableGraphComponent, ClearableGraphComponent >();
       
    39   }
       
    40   { // checking skeleton graphs
       
    41     checkConcept<StaticGraph, StaticGraph >();
       
    42     checkConcept<ExtendableGraph, ExtendableGraph >();
       
    43     checkConcept<ErasableGraph, ErasableGraph >();
       
    44   }
       
    45   { // checking list graph
       
    46     checkConcept<ErasableGraph, ListGraph >();
       
    47 
       
    48     checkGraph<ListGraph>();
       
    49     checkGraphNodeMap<ListGraph>();
       
    50     checkGraphEdgeMap<ListGraph>();
       
    51   }
       
    52   { // checking smart graph
       
    53     checkConcept<ExtendableGraph, SmartGraph >();
       
    54 
       
    55     checkGraph<SmartGraph>();
       
    56     checkGraphNodeMap<SmartGraph>();
       
    57     checkGraphEdgeMap<SmartGraph>();
       
    58   }
       
    59   { // checking full graph
       
    60     checkConcept<StaticGraph, FullGraph >();
       
    61   }
       
    62 
       
    63   std::cout << __FILE__ ": All tests passed.\n";
       
    64 
       
    65   return 0;
       
    66 }