src/test/graph_test.cc
author marci
Sat, 20 Nov 2004 14:23:27 +0000
changeset 1014 aae850a2394d
parent 980 0f1044b7a3af
child 1022 567f392d1d2e
permissions -rw-r--r--
Modifications for hugo 0.2
klao@946
     1
// -*- c++ -*-
alpar@906
     2
klao@946
     3
#include <iostream>
klao@946
     4
#include <vector>
alpar@578
     5
klao@959
     6
#include <lemon/concept/graph.h>
klao@946
     7
#include <lemon/list_graph.h>
klao@946
     8
#include <lemon/smart_graph.h>
klao@946
     9
#include <lemon/full_graph.h>
alpar@567
    10
klao@946
    11
#include "test_tools.h"
klao@946
    12
#include "graph_test.h"
klao@946
    13
#include "map_test.h"
alpar@503
    14
alpar@503
    15
alpar@921
    16
using namespace lemon;
klao@959
    17
using namespace lemon::concept;
alpar@503
    18
alpar@503
    19
klao@946
    20
int main() {
klao@946
    21
  ///\file
klao@946
    22
  { // checking graph components
deba@989
    23
    checkConcept<BaseGraphComponent, BaseGraphComponent >();
alpar@503
    24
deba@989
    25
    checkConcept<BaseIterableGraphComponent, BaseIterableGraphComponent >();
alpar@503
    26
deba@989
    27
    checkConcept<IDableGraphComponent, IDableGraphComponent >();
deba@989
    28
    checkConcept<MaxIDableGraphComponent, MaxIDableGraphComponent >();
alpar@503
    29
deba@989
    30
    checkConcept<BaseExtendableGraphComponent, BaseExtendableGraphComponent >();
deba@989
    31
    checkConcept<BaseErasableGraphComponent, BaseErasableGraphComponent >();
deba@989
    32
    checkConcept<BaseClearableGraphComponent, BaseClearableGraphComponent >();
alpar@503
    33
deba@989
    34
    checkConcept<IterableGraphComponent, IterableGraphComponent >();
alpar@503
    35
deba@989
    36
    checkConcept<MappableGraphComponent, MappableGraphComponent >();
alpar@793
    37
deba@989
    38
    checkConcept<ExtendableGraphComponent, ExtendableGraphComponent >();
deba@989
    39
    checkConcept<ErasableGraphComponent, ErasableGraphComponent >();
deba@989
    40
    checkConcept<ClearableGraphComponent, ClearableGraphComponent >();
klao@946
    41
  }
klao@946
    42
  { // checking skeleton graphs
deba@989
    43
    checkConcept<StaticGraph, StaticGraph >();
deba@989
    44
    checkConcept<ExtendableGraph, ExtendableGraph >();
deba@989
    45
    checkConcept<ErasableGraph, ErasableGraph >();
klao@946
    46
  }
klao@946
    47
  { // checking list graph
deba@989
    48
    checkConcept<ErasableGraph, ListGraph >();
alpar@793
    49
klao@946
    50
    checkGraph<ListGraph>();
klao@946
    51
    checkGraphNodeMap<ListGraph>();
klao@946
    52
    checkGraphEdgeMap<ListGraph>();
klao@946
    53
  }
klao@946
    54
  { // checking smart graph
deba@989
    55
    checkConcept<ExtendableGraph, SmartGraph >();
alpar@733
    56
klao@946
    57
    checkGraph<SmartGraph>();
klao@946
    58
    checkGraphNodeMap<SmartGraph>();
klao@946
    59
    checkGraphEdgeMap<SmartGraph>();
alpar@503
    60
  }
klao@946
    61
  { // checking full graph
deba@989
    62
    checkConcept<StaticGraph, FullGraph >();
alpar@578
    63
  }
alpar@503
    64
alpar@503
    65
  std::cout << __FILE__ ": All tests passed.\n";
alpar@503
    66
alpar@579
    67
  return 0;
alpar@503
    68
}