Mercurial > public > fructose_gen
view 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 |
line wrap: on
line source
#ifndef FRUCTOSE_MAIN_TEST_X3_H #define FRUCTOSE_MAIN_TEST_X3_H #include <stdexcept> #include <vector> #include "fructose/fructose.h" struct my_logic_error : public std::logic_error { my_logic_error(const char* message) : std::logic_error(message) {} }; struct my_runtime_error : public std::runtime_error { my_runtime_error(const char* message) : std::runtime_error(message) {} }; struct exception_test : public fructose::test_base<exception_test> { void test_array_bounds(const std::string&) { std::vector<int> v; v.push_back(1234); fructose_assert_exception(v.at(2), std::out_of_range); } void test_should_catch_std_exceptions(const std::string& ) { fructose_assert_exception(throw my_logic_error("a coding error has been detected"), std::logic_error); fructose_assert_exception(throw my_runtime_error("my runtime error"), std::runtime_error); fructose_assert_exception(throw my_logic_error("another coding error has been detected"), std::exception); fructose_assert_exception(throw my_runtime_error("my runtime error"), std::exception); } //void test_commented_out(const std::string&) //{ // fructose_assert(false); //} }; // class MyTest : public fructose::test_base<MyTest> // { // public: // void testIt(const std::string&) // { // fructose_assert(true); // } // }; class MyTest : public fructose::test_base<MyTest> { public: void testIt(const std::string&) { fructose_assert(true); } }; #endif