1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>BOOST_<level>_MESSAGE</title> 5<link rel="stylesheet" href="../../../boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../../index.html" title="Boost.Test"> 8<link rel="up" href="../testing_tool_ref.html" title="Reference API for writing tests"> 9<link rel="prev" href="assertion_boost_level_lt.html" title="BOOST_<level>_LT"> 10<link rel="next" href="assertion_boost_level_ne.html" title="BOOST_<level>_NE"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="assertion_boost_level_lt.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../testing_tool_ref.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assertion_boost_level_ne.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h4 class="title"> 27<a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_level_message"></a><a class="link" href="assertion_boost_level_message.html" title="BOOST_<level>_MESSAGE"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special"><</span><span class="identifier">level</span><span class="special">></span><span class="identifier">_MESSAGE</span></code></a> 28</h4></div></div></div> 29<pre class="programlisting"><span class="identifier">BOOST_WARN_MESSAGE</span><span class="special">(</span><span class="identifier">predicate</span><span class="special">,</span> <span class="identifier">message</span><span class="special">);</span> 30<span class="identifier">BOOST_CHECK_MESSAGE</span><span class="special">(</span><span class="identifier">predicate</span><span class="special">,</span> <span class="identifier">message</span><span class="special">);</span> 31<span class="identifier">BOOST_REQUIRE_MESSAGE</span><span class="special">(</span><span class="identifier">predicate</span><span class="special">,</span> <span class="identifier">message</span><span class="special">);</span> 32</pre> 33<p> 34 These tools perform exactly the same check as <a class="link" href="assertion_boost_level.html" title="BOOST_<level>"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special"><</span><span class="identifier">level</span><span class="special">></span></code></a> 35 tools. The only difference is that instead of generating an error/confirm 36 message these use the supplied one. 37 </p> 38<p> 39 The first parameter is the boolean expression. The second parameter is 40 the message reported in case of check failure. The message argument can 41 be constructed of components of any type supporting the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&</span> <span class="keyword">operator</span><span class="special"><<(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&)</span></code>. 42 </p> 43<h6> 44<a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_level_message.h0"></a> 45 <span class="phrase"><a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_level_message.example_descr"></a></span><a class="link" href="assertion_boost_level_message.html#boost_test.utf_reference.testing_tool_ref.assertion_boost_level_message.example_descr">Example: 46 BOOST_<level>_MESSAGE usage</a> 47 </h6> 48<div class="informaltable"><table class="table"> 49<colgroup><col></colgroup> 50<thead><tr><th> 51 <p> 52 Code 53 </p> 54 </th></tr></thead> 55<tbody><tr><td> 56<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_TEST_MODULE</span> <span class="identifier">example</span> 57<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">included</span><span class="special">/</span><span class="identifier">unit_test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 58 59<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">cmath</span><span class="special">></span> 60 61<span class="identifier">BOOST_AUTO_TEST_CASE</span><span class="special">(</span> <span class="identifier">test</span> <span class="special">)</span> 62<span class="special">{</span> 63 <span class="comment">// sin 45 radians is actually ~ 0.85, sin 45 degrees is ~0.707</span> 64 <span class="keyword">double</span> <span class="identifier">res</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">sin</span><span class="special">(</span> <span class="number">45.</span> <span class="special">);</span> 65 66 <span class="identifier">BOOST_WARN_MESSAGE</span><span class="special">(</span> <span class="identifier">res</span> <span class="special"><</span> <span class="number">0.71</span><span class="special">,</span> 67 <span class="string">"sin(45){"</span> <span class="special"><<</span> <span class="identifier">res</span> <span class="special"><<</span> <span class="string">"} is > 0.71. Arg is not in radian?"</span> <span class="special">);</span> 68<span class="special">}</span> 69</pre> 70 </td></tr></tbody> 71</table></div> 72<div class="informaltable"><table class="table"> 73<colgroup><col></colgroup> 74<thead><tr><th> 75 <p> 76 Output 77 </p> 78 </th></tr></thead> 79<tbody><tr><td> 80<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">></span> <span class="identifier">example</span> <span class="special">--</span><span class="identifier">log_level</span><span class="special">=</span><span class="identifier">warning</span> 81<span class="identifier">Running</span> <span class="number">1</span> <span class="identifier">test</span> <span class="keyword">case</span><span class="special">...</span> 82<span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">(</span><span class="number">12</span><span class="special">):</span> <span class="identifier">warning</span> <span class="identifier">in</span> <span class="string">"test"</span><span class="special">:</span> <span class="identifier">sin</span><span class="special">(</span><span class="number">45</span><span class="special">){</span><span class="number">0.850904</span><span class="special">}</span> <span class="identifier">is</span> <span class="special">></span> <span class="number">0.71</span><span class="special">.</span> <span class="identifier">Arg</span> <span class="identifier">is</span> <span class="keyword">not</span> <span class="identifier">in</span> <span class="identifier">radian</span><span class="special">?</span> 83 84<span class="special">***</span> <span class="identifier">No</span> <span class="identifier">errors</span> <span class="identifier">detected</span> 85</pre> 86 </td></tr></tbody> 87</table></div> 88<p> 89 See also: 90 </p> 91<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 92 <a class="link" href="assertion_boost_level.html" title="BOOST_<level>"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special"><</span><span class="identifier">level</span><span class="special">></span></code></a> 93 </li></ul></div> 94</div> 95<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 96<td align="left"></td> 97<td align="right"><div class="copyright-footer">Copyright © 2001-2020 Boost.Test contributors<p> 98 Distributed under the Boost Software License, Version 1.0. (See accompanying 99 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 100 </p> 101</div></td> 102</tr></table> 103<hr> 104<div class="spirit-nav"> 105<a accesskey="p" href="assertion_boost_level_lt.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../testing_tool_ref.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assertion_boost_level_ne.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> 106</div> 107</body> 108</html> 109