COIN-OR::LEMON - Graph Library

source: lemon-0.x/test/error_test.cc @ 2553:bfced05fa852

Last change on this file since 2553:bfced05fa852 was 2553:bfced05fa852, checked in by Alpar Juttner, 12 years ago

Happy New Year to LEMON (+ better update-copyright-header script)

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