diff --git a/test/optional_test_emplace.cpp b/test/optional_test_emplace.cpp index b55c1eb..117f26c 100644 --- a/test/optional_test_emplace.cpp +++ b/test/optional_test_emplace.cpp @@ -8,19 +8,6 @@ // // You are welcome to contact the author at: // akrzemi1@gmail.com -// -// Revisions: -// -#include -#include -#include - -#define BOOST_ENABLE_ASSERT_HANDLER - -#include "boost/bind/apply.hpp" // Included just to test proper interaction with boost::apply<> as reported by Daniel Wallin -#include "boost/mpl/bool.hpp" -#include "boost/mpl/bool_fwd.hpp" // For mpl::true_ and mpl::false_ -#include "boost/static_assert.hpp" #include "boost/optional/optional.hpp" @@ -28,15 +15,15 @@ #pragma hdrstop #endif +#include "boost/core/lightweight_test.hpp" #include "boost/none.hpp" -#include "boost/test/minimal.hpp" - -#include "optional_test_common.cpp" - //#ifndef BOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT //#ifndef BOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR +using boost::optional; +using boost::none; + #if (!defined BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES) class Guard @@ -68,36 +55,36 @@ void test_emplace() optional o; o.emplace(); - BOOST_CHECK(o); - BOOST_CHECK(0 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(0 == o->which_ctor); o.emplace(i, 2.0); - BOOST_CHECK(o); - BOOST_CHECK(1 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(1 == o->which_ctor); o.emplace(1, d); - BOOST_CHECK(o); - BOOST_CHECK(2 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(2 == o->which_ctor); o.emplace(1, 2.0); - BOOST_CHECK(o); - BOOST_CHECK(3 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(3 == o->which_ctor); o.emplace(i, d); - BOOST_CHECK(o); - BOOST_CHECK(4 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(4 == o->which_ctor); o.emplace(cs); - BOOST_CHECK(o); - BOOST_CHECK(5 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(5 == o->which_ctor); o.emplace(ms); - BOOST_CHECK(o); - BOOST_CHECK(6 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(6 == o->which_ctor); o.emplace(std::string()); - BOOST_CHECK(o); - BOOST_CHECK(7 == o->which_ctor); + BOOST_TEST(o); + BOOST_TEST(7 == o->which_ctor); } @@ -119,10 +106,10 @@ void test_no_moves_on_emplacement() try { optional o; o.emplace(1); - BOOST_CHECK(o); + BOOST_TEST(o); } catch (...) { - BOOST_CHECK(false); + BOOST_TEST(false); } } #endif @@ -143,47 +130,40 @@ void test_clear_on_throw() optional ot; try { ot.emplace(false); - BOOST_CHECK(ot); + BOOST_TEST(ot); } catch(...) { - BOOST_CHECK(false); + BOOST_TEST(false); } try { ot.emplace(true); - BOOST_CHECK(false); + BOOST_TEST(false); } catch(...) { - BOOST_CHECK(!ot); + BOOST_TEST(!ot); } } void test_no_assignment_on_emplacement() { optional os; - BOOST_CHECK(!os); + BOOST_TEST(!os); os.emplace("wow"); - BOOST_CHECK(os); - BOOST_CHECK(*os == "wow"); + BOOST_TEST(os); + BOOST_TEST_EQ(*os, "wow"); } -int test_main( int, char* [] ) +int main() { - try - { #if (!defined BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES) - test_emplace(); + test_emplace(); #endif #if (!defined BOOST_NO_CXX11_RVALUE_REFERENCES) - test_no_moves_on_emplacement(); + test_no_moves_on_emplacement(); #endif - test_clear_on_throw(); - test_no_assignment_on_emplacement(); - } - catch ( ... ) - { - BOOST_ERROR("Unexpected Exception caught!"); - } + test_clear_on_throw(); + test_no_assignment_on_emplacement(); - return 0; + return boost::report_errors(); } diff --git a/test/optional_test_io.cpp b/test/optional_test_io.cpp index a4877d5..196363e 100644 --- a/test/optional_test_io.cpp +++ b/test/optional_test_io.cpp @@ -1,4 +1,5 @@ // Copyright (C) 2003, Fernando Luis Cacciola Carballal. +// Copyright (C) 2014 Andrzej Krzemienski. // // Use, modification, and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -8,52 +9,24 @@ // // You are welcome to contact the author at: // fernando_cacciola@hotmail.com -// -#include -#include -#include - -#define BOOST_ENABLE_ASSERT_HANDLER +#include #include "boost/optional/optional.hpp" #include "boost/optional/optional_io.hpp" -#include "boost/none.hpp" -#include "boost/test/minimal.hpp" - -#ifdef ENABLE_TRACE -#define TRACE(msg) std::cout << msg << std::endl ; -#else -#define TRACE(msg) +#ifdef __BORLANDC__ +#pragma hdrstop #endif -namespace boost { +#include "boost/core/lightweight_test.hpp" -void assertion_failed (char const * expr, char const * func, char const * file, long ) -{ - using std::string ; - string msg = string("Boost assertion failure for \"") - + string(expr) - + string("\" at file \"") - + string(file) - + string("\" function \"") - + string(func) - + string("\"") ; - - TRACE(msg); - - throw std::logic_error(msg); -} - -} - -using namespace std ; -using namespace boost ; +using boost::optional; +using boost::make_optional; template void test2( Opt o, Opt buff ) { - stringstream s ; + std::stringstream s ; const int markv = 123 ; int mark = 0 ; @@ -61,8 +34,8 @@ void test2( Opt o, Opt buff ) s << o << " " << markv ; s >> buff >> mark ; - BOOST_CHECK( buff == o ) ; - BOOST_CHECK( mark == markv ) ; + BOOST_TEST( buff == o ) ; + BOOST_TEST( mark == markv ) ; } @@ -79,20 +52,20 @@ void test( T v, T w ) template void subtest_tag_none_reversibility_with_optional(optional ov) { - stringstream s; + std::stringstream s; s << boost::none; s >> ov; - BOOST_CHECK(!ov); + BOOST_TEST(!ov); } template void subtest_tag_none_equivalence_with_optional() { - stringstream s, r; + std::stringstream s, r; optional ov; s << boost::none; r << ov; - BOOST_CHECK(s.str() == r.str()); + BOOST_TEST_EQ(s.str(), r.str()); } template @@ -104,20 +77,12 @@ void test_tag_none(T v) } -int test_main( int, char* [] ) +int main() { - try - { - test(1,2); - test(string("hello"),string("buffer")); - test_tag_none(10); - test_tag_none(string("text")); - } - catch ( ... ) - { - BOOST_ERROR("Unexpected Exception caught!"); - } + test(1,2); + test(std::string("hello"), std::string("buffer")); + test_tag_none(10); + test_tag_none(std::string("text")); - return 0; + return boost::report_errors(); } -