COIN-OR::LEMON - Graph Library

source: lemon-1.2/test/error_test.cc @ 80:15968e25ca08

Last change on this file since 80:15968e25ca08 was 66:5f7a8570687d, checked in by Peter Kovacs <kpeter@…>, 12 years ago

Port error.h from svn -r3438 + minor changes (error_test does not pass!)

In svn -r3438 error_test is not used as a test program and it does not pass.

File size: 1.6 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#include <iostream>
20
21#include <lemon/error.h>
22#include "test_tools.h"
23
24using namespace lemon;
25using std::cout;
26using std::endl;
27
28void faulty_fn() {
29  fault("This is a fault message");
30}
31
32void exception_fn() {
33  throw Exception("This is a function throwing exception with some args: ")
34    << 5 << ", " << 18;
35}
36
37void unfinished_fn() {
38  LEMON_FIXME("unfinished_fn() is unfinished!");
39}
40
41
42int main() {
43  try {
44    faulty_fn();
45    check(false, "A faulty function did not fail.");
46  }
47  catch(const Exception &e) {
48    cout << "Exeption = \"" << e.what() << "\" (Right behaviour)" << endl;
49  }
50
51  try {
52    exception_fn();
53    check(false, "The function did not throw Exception.");
54  }
55  catch(const Exception &e) {
56    cout << "Exeption = \"" << e.what() << "\" (Right behaviour)" << endl;
57  }
58
59  try {
60    unfinished_fn();
61    check(false, "FIXME macro does not work.");
62  }
63  catch(const Exception &e) {
64    cout << "Exeption = \"" << e.what() << "\" (Right behaviour)" << endl;
65  }
66
67  return 0;
68}
Note: See TracBrowser for help on using the repository browser.