Mercurial > public > fructose_gen
annotate tests/x3.h @ 3:d8aeeb7f6785 fructose1.1.0
Changed the license to LGPL to be compatible with Fructose itself.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 14 May 2011 14:20:44 -0500 |
parents | d098192f01d9 |
children |
rev | line source |
---|---|
bgneal@0 | 1 #ifndef FRUCTOSE_MAIN_TEST_X3_H |
bgneal@0 | 2 #define FRUCTOSE_MAIN_TEST_X3_H |
bgneal@0 | 3 |
bgneal@0 | 4 #include <stdexcept> |
bgneal@0 | 5 #include <vector> |
bgneal@0 | 6 |
bgneal@0 | 7 #include "fructose/fructose.h" |
bgneal@0 | 8 |
bgneal@0 | 9 struct my_logic_error : public std::logic_error |
bgneal@0 | 10 { |
bgneal@0 | 11 my_logic_error(const char* message) : std::logic_error(message) {} |
bgneal@0 | 12 }; |
bgneal@0 | 13 |
bgneal@0 | 14 struct my_runtime_error : public std::runtime_error |
bgneal@0 | 15 { |
bgneal@0 | 16 my_runtime_error(const char* message) : std::runtime_error(message) {} |
bgneal@0 | 17 }; |
bgneal@0 | 18 |
bgneal@0 | 19 struct exception_test : public fructose::test_base<exception_test> |
bgneal@0 | 20 { |
bgneal@0 | 21 void test_array_bounds(const std::string&) |
bgneal@0 | 22 { |
bgneal@0 | 23 std::vector<int> v; |
bgneal@0 | 24 v.push_back(1234); |
bgneal@0 | 25 fructose_assert_exception(v.at(2), std::out_of_range); |
bgneal@0 | 26 } |
bgneal@0 | 27 |
bgneal@0 | 28 void test_should_catch_std_exceptions(const std::string& ) |
bgneal@0 | 29 { |
bgneal@0 | 30 fructose_assert_exception(throw my_logic_error("a coding error has been detected"), |
bgneal@0 | 31 std::logic_error); |
bgneal@0 | 32 fructose_assert_exception(throw my_runtime_error("my runtime error"), |
bgneal@0 | 33 std::runtime_error); |
bgneal@0 | 34 fructose_assert_exception(throw my_logic_error("another coding error has been detected"), |
bgneal@0 | 35 std::exception); |
bgneal@0 | 36 fructose_assert_exception(throw my_runtime_error("my runtime error"), |
bgneal@0 | 37 std::exception); |
bgneal@0 | 38 } |
bgneal@0 | 39 |
bgneal@0 | 40 //void test_commented_out(const std::string&) |
bgneal@0 | 41 //{ |
bgneal@0 | 42 // fructose_assert(false); |
bgneal@0 | 43 //} |
bgneal@0 | 44 }; |
bgneal@0 | 45 |
bgneal@0 | 46 // class MyTest : public fructose::test_base<MyTest> |
bgneal@0 | 47 // { |
bgneal@0 | 48 // public: |
bgneal@0 | 49 // void testIt(const std::string&) |
bgneal@0 | 50 // { |
bgneal@0 | 51 // fructose_assert(true); |
bgneal@0 | 52 // } |
bgneal@0 | 53 // }; |
bgneal@0 | 54 |
bgneal@0 | 55 class MyTest : public fructose::test_base<MyTest> |
bgneal@0 | 56 { |
bgneal@0 | 57 public: |
bgneal@0 | 58 void testIt(const std::string&) |
bgneal@0 | 59 { |
bgneal@0 | 60 fructose_assert(true); |
bgneal@0 | 61 } |
bgneal@0 | 62 }; |
bgneal@0 | 63 #endif |