diff -r d8475431bbbb -r 8e85e6bbefdf src/test/dfs_test.cc --- a/src/test/dfs_test.cc Sat May 21 21:04:57 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,124 +0,0 @@ -/* -*- C++ -*- - * src/test/dfs_test.cc - Part of LEMON, a generic C++ optimization library - * - * Copyright (C) 2005 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport - * (Egervary Research Group on Combinatorial Optimization, EGRES). - * - * Permission to use, modify and distribute this software is granted - * provided that this copyright notice appears in all copies. For - * precise terms see the accompanying LICENSE file. - * - * This software is provided "AS IS" with no warranty of any kind, - * express or implied, and with no claim as to its suitability for any - * purpose. - * - */ - -#include "test_tools.h" -#include -#include -#include -#include - -using namespace lemon; - -const int PET_SIZE =5; - - -void check_Dfs_SmartGraph_Compile() -{ - typedef concept::StaticGraph Graph; - - typedef Graph::Edge Edge; - typedef Graph::Node Node; - typedef Graph::EdgeIt EdgeIt; - typedef Graph::NodeIt NodeIt; - - typedef Dfs DType; - - Graph G; - Node n; - Edge e; - int l; - bool b; - DType::DistMap d(G); - DType::PredMap p(G); - // DType::PredNodeMap pn(G); - - DType dfs_test(G); - - dfs_test.run(n); - - l = dfs_test.dist(n); - e = dfs_test.pred(n); - n = dfs_test.predNode(n); - d = dfs_test.distMap(); - p = dfs_test.predMap(); - // pn = dfs_test.predNodeMap(); - b = dfs_test.reached(n); - - DirPath pp(G); - dfs_test.getPath(pp,n); -} - - -void check_Dfs_Function_Compile() -{ - typedef int VType; - typedef concept::StaticGraph Graph; - - typedef Graph::Edge Edge; - typedef Graph::Node Node; - typedef Graph::EdgeIt EdgeIt; - typedef Graph::NodeIt NodeIt; - typedef concept::ReadMap LengthMap; - - dfs(Graph(),Node()).run(); - dfs(Graph()).source(Node()).run(); - dfs(Graph()) - .predMap(concept::WriteMap()) - .distMap(concept::WriteMap()) - .reachedMap(concept::ReadWriteMap()) - .processedMap(concept::WriteMap()) - .run(Node()); - -} - -int main() -{ - - typedef SmartGraph Graph; - - typedef Graph::Edge Edge; - typedef Graph::Node Node; - typedef Graph::EdgeIt EdgeIt; - typedef Graph::NodeIt NodeIt; - typedef Graph::EdgeMap LengthMap; - - Graph G; - Node s, t; - PetStruct ps = addPetersen(G,PET_SIZE); - - s=ps.outer[2]; - t=ps.inner[0]; - - Dfs dfs_test(G); - dfs_test.run(s); - - DirPath p(G); - check(dfs_test.getPath(p,t),"getPath() failed to set the path."); - check(p.length()==dfs_test.dist(t),"getPath() found a wrong path."); - - for(NodeIt v(G); v!=INVALID; ++v) { - check(dfs_test.reached(v),"Each node should be reached."); - if ( dfs_test.pred(v)!=INVALID ) { - Edge e=dfs_test.pred(v); - Node u=G.source(e); - check(u==dfs_test.predNode(v),"Wrong tree."); - check(dfs_test.dist(v) - dfs_test.dist(u) == 1, - "Wrong distance. (" << dfs_test.dist(u) << "->" - <