src/test/graph_wrapper_test.cc
author alpar
Wed, 29 Sep 2004 15:30:04 +0000
changeset 921 818510fa3d99
parent 906 17f31d280385
child 933 1b7c88fbb950
permissions -rw-r--r--
hugo -> lemon
     1 /* -*- C++ -*-
     2  * src/test/graph_wrapper_test.cc - Part of LEMON, a generic C++ optimization library
     3  *
     4  * Copyright (C) 2004 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     5  * (Egervary Combinatorial Optimization Research Group, EGRES).
     6  *
     7  * Permission to use, modify and distribute this software is granted
     8  * provided that this copyright notice appears in all copies. For
     9  * precise terms see the accompanying LICENSE file.
    10  *
    11  * This software is provided "AS IS" with no warranty of any kind,
    12  * express or implied, and with no claim as to its suitability for any
    13  * purpose.
    14  *
    15  */
    16 
    17 #include<iostream>
    18 #include<lemon/smart_graph.h>
    19 #include<lemon/skeletons/graph.h>
    20 #include<lemon/list_graph.h>
    21 #include<lemon/full_graph.h>
    22 #include<lemon/graph_wrapper.h>
    23 
    24 #include"test/test_tools.h"
    25 #include"test/graph_test.h"
    26 
    27 /**
    28 \file
    29 This test makes consistency checks of graph wrappers.
    30 
    31 \todo More extensive tests are needed 
    32 */
    33 
    34 using namespace lemon;
    35 
    36 
    37 typedef SmartGraph Graph;
    38 
    39 //Compile GraphWrapper
    40 typedef GraphWrapper<Graph> GW;
    41 template void checkCompileStaticGraph<GW>(GW &);
    42 
    43 //Compile RevGraphWrapper
    44 typedef RevGraphWrapper<Graph> RevGW;
    45 template void checkCompileStaticGraph<RevGW>(RevGW &);
    46 
    47 //Compile SubGraphWrapper
    48 typedef SubGraphWrapper<Graph, Graph::NodeMap<bool>, 
    49 			Graph::EdgeMap<bool> > SubGW;
    50 template void checkCompileStaticGraph<SubGW>(SubGW &);
    51 
    52 //Compile UndirGraphWrapper
    53 /// \bug UndirGraphWrapper cannot pass the StaticGraph test
    54 //typedef UndirGraphWrapper<Graph> UndirGW;
    55 //template void checkCompileStaticGraph<UndirGW>(UndirGW &);
    56 
    57 //Compile UndirGraph
    58 //typedef UndirGraph<Graph> UndirG;
    59 //template void checkCompileStaticGraph<UndirG>(UndirG &);
    60 
    61 //Compile SubBidirGraphWrapper
    62 typedef SubBidirGraphWrapper<Graph, Graph::EdgeMap<bool>, 
    63 			     Graph::EdgeMap<bool> > SubBDGW;
    64 template void checkCompileStaticGraph<SubBDGW>(SubBDGW &);
    65 
    66 //Compile BidirGraphWrapper
    67 typedef BidirGraphWrapper<Graph> BidirGW;
    68 template void checkCompileStaticGraph<BidirGW>(BidirGW &);
    69 
    70 //Compile BidirGraph
    71 typedef BidirGraph<Graph> BidirG;
    72 template void checkCompileStaticGraph<BidirG>(BidirG &);
    73 
    74 //Compile ResGraphWrapper
    75 typedef ResGraphWrapper<Graph, int, Graph::EdgeMap<int>, 
    76 			Graph::EdgeMap<int> > ResGW;
    77 template void checkCompileStaticGraph<ResGW>(ResGW &);
    78 
    79 //Compile ErasingFirstGraphWrapper
    80 typedef ErasingFirstGraphWrapper<Graph, Graph::NodeMap<Graph::Edge> > ErasingFirstGW;
    81 template void checkCompileStaticGraph<ErasingFirstGW>(ErasingFirstGW &);
    82 
    83 
    84 int main() 
    85 {
    86   std::cout << __FILE__ ": All tests passed.\n";
    87 
    88   return 0;
    89 }