test/doc/examples/example83_contexts.run-fail.cpp
Raffi Enficiaud 1cf1503b23 Making BOOST_TEST_CONTEXT variadic and adding sticky context
To ease the creation of contexts, variadic let us declare several
values in one call (no extra brace) while ticky context let us
add new information while they arrive.

The example shows a random trial making a test fail. We force the failure
for the unit tests, which does not remove the documentation value of the
example.
2019-02-12 01:04:00 +01:00

26 lines
740 B
C++

// (C) Copyright Raffi Enficiaud 2019.
// 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)
// See http://www.boost.org/libs/test for the library home page.
//[example_code
#define BOOST_TEST_MODULE example83 multicontext
#include <boost/test/included/unit_test.hpp>
#include <cmath>
BOOST_AUTO_TEST_CASE(test_multi_context)
{
for (int level = 0; level < 10; ++level) {
int rand_value = std::abs(rand()) % 50;
BOOST_TEST_CONTEXT("With level " << level, "Random value=" << rand_value){
for( int j = 1; j < rand_value; j++) {
BOOST_TEST(level < rand_value);
rand_value /= 2;
}
}
}
}
//]