# HG changeset patch # User alpar # Date 1083925350 0 # Node ID 7b0b12eb603bb4d141f4b88772bb2af6afbaff5f # Parent 0f6f4eb7abe9201dc147acfe3f6a9f8f40647eb3 *** empty log message *** diff -r 0f6f4eb7abe9 -r 7b0b12eb603b src/test/test_tools.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/test_tools.h Fri May 07 10:22:30 2004 +0000 @@ -0,0 +1,64 @@ +#ifndef HUGO_TEST_TEST_TOOLS_H +#define HUGO_TEST_TEST_TOOLS_H + +//! \ingroup misc +//! \file +//! \brief Some utility to write test programs. + + +#include +#include + +//If \c rc is fail, writes an error message end exit. + +///If \c rc is fail, writes an error message end exit. +///The error message contains the file name and the line number of the +///source code is 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 graph_test.cc:123: error: This is obviously false. \endverbatim +#define check(rc, msg) \ + if(!(rc)) { \ + std::cerr << __FILE__ ":" << __LINE__ << ": error: " << msg << std::endl; \ + exit(1); \ + } else { } \ + +///Structure returned by \ref addPetersen(). + +///Structure returned by \ref addPetersen(). +/// +template struct PetStruct +{ + ///. + std::vector outer, inner; + ///. + std::vector outcir, incir, chords; +}; + +///Adds a Petersen graph to \c G. + +///Adds a Petersen graph to \c G. +///The nodes end edges will be listed in the return structure. +template PetStruct addPetersen(Graph &G,int num=5) +{ + PetStruct n; + + for(int i=0;i