COIN-OR::LEMON - Graph Library

source: lemon-0.x/test/graph_test.cc @ 2321:e23a610bed51

Last change on this file since 2321:e23a610bed51 was 2260:4274224f8a7d, checked in by Alpar Juttner, 18 years ago

concept -> concepts (namespace & directory)

File size: 2.1 KB
RevLine 
[1956]1/* -*- C++ -*-
2 *
3 * This file is a part of LEMON, a generic C++ optimization library
4 *
5 * Copyright (C) 2003-2006
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
8 *
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
12 *
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
15 * purpose.
16 *
17 */
[906]18
[946]19#include <iostream>
20#include <vector>
[578]21
[2260]22#include <lemon/concepts/graph.h>
[946]23#include <lemon/list_graph.h>
24#include <lemon/smart_graph.h>
25#include <lemon/full_graph.h>
[1712]26#include <lemon/hypercube_graph.h>
[567]27
[946]28#include "test_tools.h"
29#include "graph_test.h"
30#include "map_test.h"
[503]31
32
[921]33using namespace lemon;
[2260]34using namespace lemon::concepts;
[503]35
36
[946]37int main() {
38  { // checking graph components
[989]39    checkConcept<BaseGraphComponent, BaseGraphComponent >();
[503]40
[2121]41    checkConcept<IDableGraphComponent<>,
42      IDableGraphComponent<> >();
[503]43
[2121]44    checkConcept<IterableGraphComponent<>,
45      IterableGraphComponent<> >();
[503]46
[2121]47    checkConcept<MappableGraphComponent<>,
48      MappableGraphComponent<> >();
[793]49
[946]50  }
51  { // checking skeleton graphs
[2121]52    checkConcept<Graph, Graph>();
[946]53  }
54  { // checking list graph
[2111]55    checkConcept<Graph, ListGraph >();
[2121]56    checkConcept<AlterableGraphComponent<>, ListGraph>();
57    checkConcept<ExtendableGraphComponent<>, ListGraph>();
58    checkConcept<ClearableGraphComponent<>, ListGraph>();
59    checkConcept<ErasableGraphComponent<>, ListGraph>();
[793]60
[946]61    checkGraph<ListGraph>();
62    checkGraphNodeMap<ListGraph>();
63    checkGraphEdgeMap<ListGraph>();
64  }
65  { // checking smart graph
[2111]66    checkConcept<Graph, SmartGraph >();
[733]67
[946]68    checkGraph<SmartGraph>();
69    checkGraphNodeMap<SmartGraph>();
70    checkGraphEdgeMap<SmartGraph>();
[503]71  }
[946]72  { // checking full graph
[2111]73    checkConcept<Graph, FullGraph >();
[578]74  }
[1712]75  { // checking full graph
[2111]76    checkConcept<Graph, HyperCubeGraph >();
[1712]77  }
[503]78
79  std::cout << __FILE__ ": All tests passed.\n";
80
[579]81  return 0;
[503]82}
Note: See TracBrowser for help on using the repository browser.