assertion_boost_level_message.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
  4. <title>BOOST_&lt;level&gt;_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_&lt;level&gt;_LT">
  10. <link rel="next" href="assertion_boost_level_ne.html" title="BOOST_&lt;level&gt;_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_&lt;level&gt;_MESSAGE"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special">&lt;</span><span class="identifier">level</span><span class="special">&gt;</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_&lt;level&gt;"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special">&lt;</span><span class="identifier">level</span><span class="special">&gt;</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">&amp;</span> <span class="keyword">operator</span><span class="special">&lt;&lt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;)</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_&lt;level&gt;_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">&lt;</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">&gt;</span>
  58. <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cmath</span><span class="special">&gt;</span>
  59. <span class="identifier">BOOST_AUTO_TEST_CASE</span><span class="special">(</span> <span class="identifier">test</span> <span class="special">)</span>
  60. <span class="special">{</span>
  61. <span class="comment">// sin 45 radians is actually ~ 0.85, sin 45 degrees is ~0.707</span>
  62. <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>
  63. <span class="identifier">BOOST_WARN_MESSAGE</span><span class="special">(</span> <span class="identifier">res</span> <span class="special">&lt;</span> <span class="number">0.71</span><span class="special">,</span>
  64. <span class="string">"sin(45){"</span> <span class="special">&lt;&lt;</span> <span class="identifier">res</span> <span class="special">&lt;&lt;</span> <span class="string">"} is &gt; 0.71. Arg is not in radian?"</span> <span class="special">);</span>
  65. <span class="special">}</span>
  66. </pre>
  67. </td></tr></tbody>
  68. </table></div>
  69. <div class="informaltable"><table class="table">
  70. <colgroup><col></colgroup>
  71. <thead><tr><th>
  72. <p>
  73. Output
  74. </p>
  75. </th></tr></thead>
  76. <tbody><tr><td>
  77. <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">&gt;</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>
  78. <span class="identifier">Running</span> <span class="number">1</span> <span class="identifier">test</span> <span class="keyword">case</span><span class="special">...</span>
  79. <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">&gt;</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>
  80. <span class="special">***</span> <span class="identifier">No</span> <span class="identifier">errors</span> <span class="identifier">detected</span>
  81. </pre>
  82. </td></tr></tbody>
  83. </table></div>
  84. <p>
  85. See also:
  86. </p>
  87. <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
  88. <a class="link" href="assertion_boost_level.html" title="BOOST_&lt;level&gt;"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special">&lt;</span><span class="identifier">level</span><span class="special">&gt;</span></code></a>
  89. </li></ul></div>
  90. </div>
  91. <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
  92. <td align="left"></td>
  93. <td align="right"><div class="copyright-footer">Copyright &#169; 2001-2019 Boost.Test
  94. contributors<p>
  95. Distributed under the Boost Software License, Version 1.0. (See accompanying
  96. 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>)
  97. </p>
  98. </div></td>
  99. </tr></table>
  100. <hr>
  101. <div class="spirit-nav">
  102. <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>
  103. </div>
  104. </body>
  105. </html>