diff -r d8475431bbbb -r 8e85e6bbefdf src/test/graph_factory_test.cc --- a/src/test/graph_factory_test.cc Sat May 21 21:04:57 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ -/* -*- C++ -*- - * src/test/graph_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 -#include -#include -#include -#include -#include - -#include"test_tools.h" -#include"graph_test.h" - -/** -\file -This test makes consistency checks of list graph structures. - -G.addNode(), G.addEdge(), G.source(), G.target() - -\todo Checks for empty graphs and isolated points. -conversion. -*/ - -using namespace lemon; - -template void bidirPetersen(Graph &G) -{ - typedef typename Graph::Edge Edge; - typedef typename Graph::EdgeIt EdgeIt; - - checkGraphEdgeList(G,15); - - std::vector ee; - - for(EdgeIt e(G);e!=INVALID;++e) ee.push_back(e); - - for(typename std::vector::iterator p=ee.begin();p!=ee.end();p++) - G.addEdge(G.target(*p),G.source(*p)); -} - -template void checkPetersen(Graph &G) -{ - typedef typename Graph::Node Node; - - typedef typename Graph::EdgeIt EdgeIt; - typedef typename Graph::NodeIt NodeIt; - - checkGraphNodeList(G,10); - checkGraphEdgeList(G,30); - - for(NodeIt n(G);n!=INVALID;++n) { - checkGraphInEdgeList(G,n,3); - checkGraphOutEdgeList(G,n,3); - } -} - -//Compile Graph -template void lemon::concept::checkCompileStaticGraph -(concept::StaticGraph &); - -template -void lemon::concept::checkCompileExtendableGraph -(concept::ExtendableGraph &); - -template -void lemon::concept::checkCompileErasableGraph -(concept::ErasableGraph &); - -//Compile SmartGraph -template -void lemon::concept::checkCompileExtendableGraph(SmartGraph &); -template -void lemon::concept::checkCompileGraphFindEdge(SmartGraph &); - -//Compile SymSmartGraph -//template void hugo::checkCompileGraph(SymSmartGraph &); -//template void hugo::checkCompileGraphFindEdge(SymSmartGraph &); - -//Compile ListGraph -template -void lemon::concept::checkCompileExtendableGraph(ListGraph &); -template -void lemon::concept::checkCompileErasableGraph(ListGraph &); -template -void lemon::concept::checkCompileGraphFindEdge(ListGraph &); - - -//Compile SymListGraph -//template void hugo::checkCompileGraph(SymListGraph &); -//template void hugo::checkCompileErasableGraph(SymListGraph &); -//template void hugo::checkCompileGraphFindEdge(SymListGraph &); - -//Compile FullGraph -template void lemon::concept::checkCompileStaticGraph(FullGraph &); -template -void lemon::concept::checkCompileGraphFindEdge(FullGraph &); - - -int main() -{ - { - SmartGraph G; - addPetersen(G); - bidirPetersen(G); - checkPetersen(G); - } - { - ListGraph G; - addPetersen(G); - bidirPetersen(G); - checkPetersen(G); - } - { - // SymSmartGraph G; - // addPetersen(G); - // checkPetersen(G); - } - { - // SymListGraph G; - // addPetersen(G); - // checkPetersen(G); - } - - ///\file - ///\todo map tests. - ///\todo copy constr tests. - - - // Some map tests. - // FIXME: These shouldn't be here. - using namespace concept; - function_requires< ReadMapConcept< ReadMap > >(); - function_requires< WriteMapConcept< WriteMap > >(); - function_requires< ReadWriteMapConcept< ReadWriteMap > >(); - function_requires< ReferenceMapConcept< ReferenceMap > >(); - - - std::cout << __FILE__ ": All tests passed.\n"; - - return 0; -}