test/graph_test.cc
author hegyi
Thu, 05 Jan 2006 12:30:09 +0000
changeset 1878 409a31271efd
parent 1435 8e85e6bbefdf
child 1956 a055123339d5
permissions -rw-r--r--
Several changes. \n If new map is added to mapstorage it emits signal with the name of the new map. This was important, because from now on not only tha mapwin should be updated. \n Furthermore algobox gets a pointer to mapstorage instead of only the mapnames from it. This is important because without it it would be complicated to pass all of the required maps to algobox.
     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 }