COIN-OR::LEMON - Graph Library

source: lemon-main/test/test_tools.h @ 180:4b9ab1324c3b

Last change on this file since 180:4b9ab1324c3b was 171:02f4d5d9bfd7, checked in by Peter Kovacs <kpeter@…>, 16 years ago

Improve and redesign test programs + unify their output (ticket #25)

  • Move graph related utilities form test_tools.h to graph_test.h.
  • Move the contents of graph_utils_test.h to graph_utils_test.cc.
  • Rename map_test.h -> graph_maps_test.h.
  • Rename digraph_test.h -> graph_test.h.
  • Many improvements in the following files:
    • digraph_test.cc
    • graph_test.cc
    • graph_test.h
    • graph_maps_test.h
    • graph_utils_test.cc
    • bfs_test.cc
    • dfs_test.cc
    • counter_test.cc
  • Test programs print messages only if it really seems necessary.
  • Remove \file commands form .cc test files.
File size: 1.4 KB
Line 
1/* -*- C++ -*-
2 *
3 * This file is a part of LEMON, a generic C++ optimization library
4 *
5 * Copyright (C) 2003-2008
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
8 *
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
12 *
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
15 * purpose.
16 *
17 */
18
19#ifndef LEMON_TEST_TEST_TOOLS_H
20#define LEMON_TEST_TEST_TOOLS_H
21
22///\ingroup misc
23///\file
24///\brief Some utilities to write test programs.
25
26#include <iostream>
27
28///If \c rc is fail, writes an error message and exits.
29
30///If \c rc is fail, writes an error message and exits.
31///The error message contains the file name and the line number of the
32///source code in a standard from, which makes it possible to go there
33///using good source browsers like e.g. \c emacs.
34///
35///For example
36///\code check(0==1,"This is obviously false.");\endcode will
37///print something like this (and then exits).
38///\verbatim file_name.cc:123: error: This is obviously false. \endverbatim
39///
40///\todo It should be in \c assert.h
41#define check(rc, msg) \
42  if(!(rc)) { \
43    std::cerr << __FILE__ ":" << __LINE__ << ": error: " << msg << std::endl; \
44    abort(); \
45  } else { } \
46
47#endif
Note: See TracBrowser for help on using the repository browser.