COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/test/graph_test.cc @ 946:c94ef40a22ce

Last change on this file since 946:c94ef40a22ce was 946:c94ef40a22ce, checked in by Mihaly Barasz, 20 years ago

The graph_factory branch (@ 1321) has been merged to trunk.

File size: 2.2 KB
RevLine 
[946]1// -*- c++ -*-
[906]2
[946]3#include <iostream>
4#include <vector>
[578]5
[946]6#include <lemon/skeletons/graph.h>
7#include <lemon/list_graph.h>
8#include <lemon/smart_graph.h>
9#include <lemon/full_graph.h>
[567]10
[946]11#include "test_tools.h"
12#include "graph_test.h"
13#include "map_test.h"
[503]14
15
[921]16using namespace lemon;
[946]17using namespace lemon::skeleton;
[503]18
19
[946]20int main() {
21  ///\file
22  { // checking graph components
23    function_requires<BaseGraphComponentConcept<BaseGraphComponent> >();
[503]24
[946]25    function_requires<BaseIterableGraphComponentConcept<BaseIterableGraphComponent> >();
[503]26
[946]27    function_requires<IDableGraphComponentConcept<IDableGraphComponent> >();
28    function_requires<MaxIDableGraphComponentConcept<MaxIDableGraphComponent> >();
[503]29
[946]30    function_requires<BaseExtendableGraphComponentConcept<BaseExtendableGraphComponent> >();
31    function_requires<BaseErasableGraphComponentConcept<BaseErasableGraphComponent> >();
32    function_requires<BaseClearableGraphComponentConcept<BaseClearableGraphComponent> >();
[503]33
[946]34    function_requires<IterableGraphComponentConcept<IterableGraphComponent> >();
[503]35
[946]36    function_requires<IdMappableGraphComponentConcept<IdMappableGraphComponent> >();
37    function_requires<MappableGraphComponentConcept<MappableGraphComponent> >();
[793]38
[946]39    function_requires<ExtendableGraphComponentConcept<ExtendableGraphComponent> >();
40    function_requires<ErasableGraphComponentConcept<ErasableGraphComponent> >();
41    function_requires<ClearableGraphComponentConcept<ClearableGraphComponent> >();
42  }
43  { // checking skeleton graphs
44    function_requires<StaticGraphConcept<StaticGraph> >();
45    function_requires<ExtendableGraphConcept<ExtendableGraph> >();
46    function_requires<ErasableGraphConcept<ErasableGraph> >();
47  }
48  { // checking list graph
49    function_requires<ErasableGraphConcept<ListGraph> >();
[793]50
[946]51    checkGraph<ListGraph>();
52    checkGraphNodeMap<ListGraph>();
53    checkGraphEdgeMap<ListGraph>();
54  }
55  { // checking smart graph
56    function_requires<ExtendableGraphConcept<SmartGraph> >();
[733]57
[946]58    checkGraph<SmartGraph>();
59    checkGraphNodeMap<SmartGraph>();
60    checkGraphEdgeMap<SmartGraph>();
[503]61  }
[946]62  { // checking full graph
63    function_requires<StaticGraphConcept<FullGraph> >();
[578]64  }
[503]65
66  std::cout << __FILE__ ": All tests passed.\n";
67
[579]68  return 0;
[503]69}
Note: See TracBrowser for help on using the repository browser.