src/test/graph_test.cc
author alpar
Fri, 08 Apr 2005 14:02:43 +0000
changeset 1324 eca073533990
parent 1022 567f392d1d2e
permissions -rw-r--r--
Only lp_xyz's are linked against -lglpk
     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 }