1[/ 2 / Copyright (c) 2003 Boost.Test contributors 3 / 4 / Distributed under the Boost Software License, Version 1.0. (See accompanying 5 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 /] 7 8[section:testing_tools Writing unit tests] 9 10Once a test case has been declared, the body of this test should be written. A test case is a 11sequence of operations in which *assertions* are inserted. Those assertions evaluate /statements/ that implement the expectation being validated, 12and report failures and/or information in a uniform manner, depending on the [link boost_test.utf_reference.rt_param_reference.log_level log level]. 13 14The __UTF__'s supplies a toolbox of assertions to ease the creation and maintenance of test cases and 15provide a uniform error reporting mechanism. The toolbox supplied is in most part in a form of macro declarations. 16An (almost) unique interface to all of them implemented by the macro __BOOST_TEST__. 17 18[note All macros arguments are calculated once, so it's safe to pass complex expressions in their place.] 19 20All tools automatically supply an error location: a file name and a line number, which can also be overridden. 21 22[caution The testing tools are intended for unit test code rather than library or production code, where throwing exceptions, using `assert()`, 23`boost::concept_check` or `BOOST_STATIC_ASSERT()` may be more suitable ways to detect and report errors.] 24 25For a list of all supplied testing tools and usage examples, see the [link boost_test.testing_tools.summary summary] 26or the [link boost_test.utf_reference.testing_tool_ref reference]. 27 28[include assertions_severity_levels.qbk] 29[include boost_test_universal_macro.qbk] 30[include boost_test_reported_information.qbk] 31 32[section:extended_comparison Extended comparisons support] 33[include testing_floating_points.qbk] 34[include boost_test_string_comparison.qbk] 35[include boost_test_collection_comparison.qbk] 36[include boost_test_bitwise_comparison.qbk] 37[endsect] 38 39[include testing_exception_correctness.qbk] 40[include timeout.qbk] 41[include expected_failures.qbk] 42[include custom_predicates.qbk] 43[include testing_output_streams.qbk] 44 45[include boost_test_technical_details.qbk] 46[include boost_test_debugging.qbk] 47[include testing_tools_summary.qbk] 48 49 50[endsect] [/ testing tools] 51