diff -r 91fb4372688f -r 02f4d5d9bfd7 test/test_tools.h --- a/test/test_tools.h Sun Jun 15 22:03:33 2008 +0200 +++ b/test/test_tools.h Sun Jun 15 22:05:23 2008 +0200 @@ -19,163 +19,29 @@ #ifndef LEMON_TEST_TEST_TOOLS_H #define LEMON_TEST_TEST_TOOLS_H +///\ingroup misc +///\file +///\brief Some utilities to write test programs. + #include -#include -#include -#include +///If \c rc is fail, writes an error message and exits. -#include -#include - -#include - -using namespace lemon; - -//! \ingroup misc -//! \file -//! \brief Some utilities to write test programs. - - -///If \c rc is fail, writes an error message end exit. - -///If \c rc is fail, writes an error message end exit. +///If \c rc is fail, writes an error message and exits. ///The error message contains the file name and the line number of the ///source code in a standard from, which makes it possible to go there ///using good source browsers like e.g. \c emacs. /// ///For example ///\code check(0==1,"This is obviously false.");\endcode will -///print this (and then exits). -///\verbatim digraph_test.cc:123: error: This is obviously false. \endverbatim +///print something like this (and then exits). +///\verbatim file_name.cc:123: error: This is obviously false. \endverbatim /// -///\todo It should be in \c error.h +///\todo It should be in \c assert.h #define check(rc, msg) \ if(!(rc)) { \ std::cerr << __FILE__ ":" << __LINE__ << ": error: " << msg << std::endl; \ abort(); \ } else { } \ -///Structure returned by \ref addPetersen(). - -///Structure returned by \ref addPetersen(). -/// -template struct PetStruct -{ - ///Vector containing the outer nodes. - std::vector outer; - ///Vector containing the inner nodes. - std::vector inner; - ///Vector containing the arcs of the inner circle. - std::vector incir; - ///Vector containing the arcs of the outer circle. - std::vector outcir; - ///Vector containing the chord arcs. - std::vector chords; -}; - - - -///Adds a Petersen digraph to \c G. - -///Adds a Petersen digraph to \c G. -///\return The nodes and arcs of the generated digraph. - -template -PetStruct addPetersen(Digraph &G,int num = 5) -{ - PetStruct n; - - for(int i=0;i void bidirDigraph(Digraph &G) -{ - typedef typename Digraph::Arc Arc; - typedef typename Digraph::ArcIt ArcIt; - - std::vector ee; - - for(ArcIt e(G);e!=INVALID;++e) ee.push_back(e); - - for(typename std::vector::iterator p=ee.begin();p!=ee.end();p++) - G.addArc(G.target(*p),G.source(*p)); -} - - -/// \brief Checks the bidirectioned Petersen digraph. -/// -/// Checks the bidirectioned Petersen digraph. -/// -template void checkBidirPetersen(Digraph &G, int num = 5) -{ - typedef typename Digraph::Node Node; - - typedef typename Digraph::ArcIt ArcIt; - typedef typename Digraph::NodeIt NodeIt; - - checkDigraphNodeList(G, 2 * num); - checkDigraphArcList(G, 6 * num); - - for(NodeIt n(G);n!=INVALID;++n) { - checkDigraphInArcList(G, n, 3); - checkDigraphOutArcList(G, n, 3); - } -} - -///Structure returned by \ref addUPetersen(). - -///Structure returned by \ref addUPetersen(). -/// -template struct UPetStruct -{ - ///Vector containing the outer nodes. - std::vector outer; - ///Vector containing the inner nodes. - std::vector inner; - ///Vector containing the arcs of the inner circle. - std::vector incir; - ///Vector containing the arcs of the outer circle. - std::vector outcir; - ///Vector containing the chord arcs. - std::vector chords; -}; - -///Adds a Petersen digraph to the undirected \c G. - -///Adds a Petersen digraph to the undirected \c G. -///\return The nodes and arcs of the generated digraph. - -template -UPetStruct addUPetersen(Digraph &G,int num=5) -{ - UPetStruct n; - - for(int i=0;i