test/graph_test.cc
author hegyi
Tue, 06 Dec 2005 10:53:38 +0000
changeset 1849 a4d1362397fe
parent 1435 8e85e6bbefdf
child 1956 a055123339d5
permissions -rw-r--r--
Notebook style is provided. Without opportunity to close tabs. :-) But with all other necessary things (I think).
     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 #include <lemon/hypercube_graph.h>
    11 
    12 #include "test_tools.h"
    13 #include "graph_test.h"
    14 #include "map_test.h"
    15 
    16 
    17 using namespace lemon;
    18 using namespace lemon::concept;
    19 
    20 
    21 int main() {
    22   { // checking graph components
    23     checkConcept<BaseGraphComponent, BaseGraphComponent >();
    24 
    25     checkConcept<BaseIterableGraphComponent, BaseIterableGraphComponent >();
    26 
    27     checkConcept<IDableGraphComponent, IDableGraphComponent >();
    28     checkConcept<MaxIDableGraphComponent, MaxIDableGraphComponent >();
    29 
    30     checkConcept<BaseExtendableGraphComponent, BaseExtendableGraphComponent >();
    31     checkConcept<BaseErasableGraphComponent, BaseErasableGraphComponent >();
    32 
    33     checkConcept<IterableGraphComponent, IterableGraphComponent >();
    34 
    35     checkConcept<MappableGraphComponent, MappableGraphComponent >();
    36 
    37     checkConcept<ExtendableGraphComponent, ExtendableGraphComponent >();
    38     checkConcept<ErasableGraphComponent, ErasableGraphComponent >();
    39     checkConcept<ClearableGraphComponent, ClearableGraphComponent >();
    40   }
    41   { // checking skeleton graphs
    42     checkConcept<StaticGraph, StaticGraph >();
    43     checkConcept<ExtendableGraph, ExtendableGraph >();
    44     checkConcept<ErasableGraph, ErasableGraph >();
    45   }
    46   { // checking list graph
    47     checkConcept<ErasableGraph, ListGraph >();
    48 
    49     checkGraph<ListGraph>();
    50     checkGraphNodeMap<ListGraph>();
    51     checkGraphEdgeMap<ListGraph>();
    52   }
    53   { // checking smart graph
    54     checkConcept<ExtendableGraph, SmartGraph >();
    55 
    56     checkGraph<SmartGraph>();
    57     checkGraphNodeMap<SmartGraph>();
    58     checkGraphEdgeMap<SmartGraph>();
    59   }
    60   { // checking full graph
    61     checkConcept<StaticGraph, FullGraph >();
    62   }
    63   { // checking full graph
    64     checkConcept<StaticGraph, HyperCubeGraph >();
    65   }
    66 
    67   std::cout << __FILE__ ": All tests passed.\n";
    68 
    69   return 0;
    70 }