[/ / Copyright (c) 2003 Boost.Test team / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) /] [section:testing_tools Writing unit tests] The __UTF__'s supplies a toolbox of testing tools to ease creation and maintenance of test programs and provide a uniform error reporting mechanism. The toolbox supplied in most part in a form of macro and function declarations. While the functions can be called directly, the usual way to use testing tools is via convenience macros. All macros arguments are calculated once, so it's safe to pass complex expressions in their place. All tools automatically supply an error location: a file name and a line number. The testing tools are intended for unit test code rather than library or production code, where throwing exceptions, using `assert()`, `boost::concept_check` or `BOOST_STATIC_ASSERT()` may be more suitable ways to detect and report errors. For a list of all supplied testing tools and usage examples, see the [link boost_test.testing_tools.summary summary] or the [link boost_test.utf_reference.testing_tool_ref reference]. [include boost_test_universal_macro.qbk] [include assertions_severity_levels.qbk] [include boost_test_acceptable_statements.qbk] [include boost_test_reported_information.qbk] [section:extended_comparison Extended comparisons support] [include testing_floating_points.qbk] [include boost_test_string_comparison.qbk] [include boost_test_collection_comparison.qbk] [include boost_test_bitwise_comparison.qbk] [endsect] [include timeout.qbk] [include expected_failures.qbk] [include custom_predicates.qbk] [include testing_output_streams.qbk] [include boost_test_technical_details.qbk] [include testing_tools_summary.qbk] [endsect] [/ testing tools]