test_organization_nullary.html 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
  4. <title>Test cases without parameters</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="../test_cases.html" title="Test cases">
  9. <link rel="prev" href="../test_cases.html" title="Test cases">
  10. <link rel="next" href="test_case_generation.html" title="Data-driven test cases">
  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="../test_cases.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../test_cases.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="test_case_generation.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.tests_organization.test_cases.test_organization_nullary"></a><a class="link" href="test_organization_nullary.html" title="Test cases without parameters">Test
  28. cases without parameters</a>
  29. </h4></div></div></div>
  30. <p>
  31. The most common scenario is that you want to write test case without any
  32. parameters. The <span class="emphasis"><em>Unit Test Framework</em></span> provides you with
  33. both automatic and manual registration APIs to declare such test case.
  34. </p>
  35. <a name="ref_BOOST_AUTO_TEST_CASE"></a><h5>
  36. <a name="boost_test.tests_organization.test_cases.test_organization_nullary.h0"></a>
  37. <span class="phrase"><a name="boost_test.tests_organization.test_cases.test_organization_nullary.automated_registration"></a></span><a class="link" href="test_organization_nullary.html#boost_test.tests_organization.test_cases.test_organization_nullary.automated_registration">Automated
  38. registration</a>
  39. </h5>
  40. <p>
  41. To declare a test case without parameters, which is registered in place
  42. of implementation, employ the macro <a class="link" href="../../utf_reference/test_org_reference/test_org_boost_auto_test_case.html" title="BOOST_AUTO_TEST_CASE"><code class="computeroutput"><span class="identifier">BOOST_AUTO_TEST_CASE</span></code></a>.
  43. </p>
  44. <pre class="programlisting"><a class="link" href="../../utf_reference/test_org_reference/test_org_boost_auto_test_case.html" title="BOOST_AUTO_TEST_CASE"><code class="computeroutput"><span class="identifier">BOOST_AUTO_TEST_CASE</span></code></a><span class="special">(</span><span class="identifier">test_case_name</span><span class="special">);</span>
  45. </pre>
  46. <p>
  47. This API is designed to closely mimic nullary free function declaration
  48. syntax. In comparison with free function all you need to do is to skip
  49. result type and brackets and wrap test case name into BOOST_AUTO_TEST_CASE:
  50. </p>
  51. <h6>
  52. <a name="boost_test.tests_organization.test_cases.test_organization_nullary.h1"></a>
  53. <span class="phrase"><a name="boost_test.tests_organization.test_cases.test_organization_nullary.example_descr"></a></span><a class="link" href="test_organization_nullary.html#boost_test.tests_organization.test_cases.test_organization_nullary.example_descr">Example:
  54. Nullary function based test case with automated registration</a>
  55. </h6>
  56. <div class="informaltable"><table class="table">
  57. <colgroup><col></colgroup>
  58. <thead><tr><th>
  59. <p>
  60. Code
  61. </p>
  62. </th></tr></thead>
  63. <tbody><tr><td>
  64. <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>
  65. <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>
  66. <span class="identifier">BOOST_AUTO_TEST_CASE</span><span class="special">(</span> <span class="identifier">free_test_function</span> <span class="special">)</span>
  67. <span class="comment">/* Compare with void free_test_function() */</span>
  68. <span class="special">{</span>
  69. <span class="identifier">BOOST_TEST</span><span class="special">(</span> <span class="keyword">true</span> <span class="comment">/* test assertion */</span> <span class="special">);</span>
  70. <span class="special">}</span>
  71. </pre>
  72. </td></tr></tbody>
  73. </table></div>
  74. <div class="informaltable"><table class="table">
  75. <colgroup><col></colgroup>
  76. <thead><tr><th>
  77. <p>
  78. Output
  79. </p>
  80. </th></tr></thead>
  81. <tbody><tr><td>
  82. <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>
  83. <span class="identifier">Running</span> <span class="number">1</span> <span class="identifier">test</span> <span class="keyword">case</span><span class="special">...</span>
  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. With this macro you don't need to implement any other registration steps.
  90. The macro creates and registers the test case with the name <code class="computeroutput"><span class="identifier">free_test_function</span></code> automatically.
  91. </p>
  92. <a name="ref_BOOST_TEST_CASE"></a><h5>
  93. <a name="boost_test.tests_organization.test_cases.test_organization_nullary.h2"></a>
  94. <span class="phrase"><a name="boost_test.tests_organization.test_cases.test_organization_nullary.manual_registration"></a></span><a class="link" href="test_organization_nullary.html#boost_test.tests_organization.test_cases.test_organization_nullary.manual_registration">Manual
  95. registration</a>
  96. </h5>
  97. <p>
  98. The <span class="emphasis"><em>Unit Test Framework</em></span> allows to manually create
  99. test case without parameters based on nullary free functions, nullary function
  100. objects (including those created with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span></code>
  101. and nullary <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">function</span></code> instances). To do this, employ
  102. the macro <a class="link" href="../../utf_reference/test_org_reference/test_org_boost_test_case.html" title="BOOST_TEST_CASE and BOOST_TEST_CASE_NAME"><code class="computeroutput"><span class="identifier">BOOST_TEST_CASE</span></code></a>:
  103. </p>
  104. <pre class="programlisting"><span class="identifier">BOOST_TEST_CASE</span><span class="special">(</span><span class="identifier">test_function</span><span class="special">);</span>
  105. </pre>
  106. <p>
  107. <a class="link" href="../../utf_reference/test_org_reference/test_org_boost_test_case.html" title="BOOST_TEST_CASE and BOOST_TEST_CASE_NAME"><code class="computeroutput"><span class="identifier">BOOST_TEST_CASE</span></code></a> creates an instance
  108. of the class <code class="computeroutput"><a class="link" href="../../../boost/unit_test/test_case.html" title="Class test_case">boost::unit_test::test_case</a></code>
  109. and returns a pointer to the constructed instance. The test case name is
  110. deduced from the macro argument test_function. If you prefer to assign
  111. a different test case name, you have either to
  112. </p>
  113. <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
  114. <li class="listitem">
  115. use the macro <a class="link" href="../../utf_reference/test_org_reference/test_org_boost_test_case.html" title="BOOST_TEST_CASE and BOOST_TEST_CASE_NAME"><code class="computeroutput"><span class="identifier">BOOST_TEST_CASE_NAME</span></code></a> instead
  116. </li>
  117. <li class="listitem">
  118. or use the underlying <code class="computeroutput"><a class="link" href="../../../header/boost/test/tree/test_unit_hpp.html" title="Header &lt;boost/test/tree/test_unit.hpp&gt;">make_test_case</a></code> interface
  119. instead.
  120. </li>
  121. </ul></div>
  122. <p>
  123. To register a new test case, employ the method <code class="computeroutput"><a class="link" href="../../../boost/unit_test/test_suite.html#idm46279112866240-bb">test_suite::add</a></code>. Both test case creation
  124. and registration are performed in the <a class="link" href="../../adv_scenarios/test_module_init_overview.html" title="Test module's initialization">test
  125. module initialization function</a>.
  126. </p>
  127. <p>
  128. Here is the simplest example of manually registered test case. A single
  129. test case is created and registered inside the test module initialization
  130. routine. Note that the free function name is passed by address to the macro
  131. <a class="link" href="../../utf_reference/test_org_reference/test_org_boost_test_case.html" title="BOOST_TEST_CASE and BOOST_TEST_CASE_NAME"><code class="computeroutput"><span class="identifier">BOOST_TEST_CASE</span></code></a>`.
  132. </p>
  133. <a name="ref_bt_example01"></a><h6>
  134. <a name="boost_test.tests_organization.test_cases.test_organization_nullary.h3"></a>
  135. <span class="phrase"><a name="boost_test.tests_organization.test_cases.test_organization_nullary.example_descr0"></a></span><a class="link" href="test_organization_nullary.html#boost_test.tests_organization.test_cases.test_organization_nullary.example_descr0">Example:
  136. Nullary free function manually registered</a>
  137. </h6>
  138. <div class="informaltable"><table class="table">
  139. <colgroup><col></colgroup>
  140. <thead><tr><th>
  141. <p>
  142. Code
  143. </p>
  144. </th></tr></thead>
  145. <tbody><tr><td>
  146. <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><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>
  147. <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unit_test</span><span class="special">;</span>
  148. <span class="keyword">void</span> <span class="identifier">free_test_function</span><span class="special">()</span>
  149. <span class="special">{</span>
  150. <span class="identifier">BOOST_TEST</span><span class="special">(</span> <span class="keyword">true</span> <span class="comment">/* test assertion */</span> <span class="special">);</span>
  151. <span class="special">}</span>
  152. <span class="identifier">test_suite</span><span class="special">*</span> <span class="identifier">init_unit_test_suite</span><span class="special">(</span> <span class="keyword">int</span> <span class="comment">/*argc*/</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*argv*/</span><span class="special">[]</span> <span class="special">)</span>
  153. <span class="special">{</span>
  154. <span class="identifier">framework</span><span class="special">::</span><span class="identifier">master_test_suite</span><span class="special">().</span>
  155. <span class="identifier">add</span><span class="special">(</span> <span class="identifier">BOOST_TEST_CASE</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">free_test_function</span> <span class="special">)</span> <span class="special">);</span>
  156. <span class="identifier">framework</span><span class="special">::</span><span class="identifier">master_test_suite</span><span class="special">().</span>
  157. <span class="identifier">add</span><span class="special">(</span> <span class="identifier">BOOST_TEST_CASE_NAME</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">free_test_function</span><span class="special">,</span> <span class="string">"second-check-free-test-function"</span> <span class="special">)</span> <span class="special">);</span>
  158. <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
  159. <span class="special">}</span>
  160. </pre>
  161. </td></tr></tbody>
  162. </table></div>
  163. <div class="informaltable"><table class="table">
  164. <colgroup><col></colgroup>
  165. <thead><tr><th>
  166. <p>
  167. Output
  168. </p>
  169. </th></tr></thead>
  170. <tbody><tr><td>
  171. <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">unit_scope</span>
  172. <span class="identifier">Running</span> <span class="number">2</span> <span class="identifier">test</span> <span class="identifier">cases</span><span class="special">...</span>
  173. <span class="identifier">Entering</span> <span class="identifier">test</span> <span class="identifier">module</span> <span class="string">"Master Test Suite"</span>
  174. <span class="identifier">example</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">:</span><span class="number">20</span><span class="special">:</span> <span class="identifier">Entering</span> <span class="identifier">test</span> <span class="keyword">case</span> <span class="string">"free_test_function"</span>
  175. <span class="identifier">example</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">:</span><span class="number">20</span><span class="special">:</span> <span class="identifier">Leaving</span> <span class="identifier">test</span> <span class="keyword">case</span> <span class="string">"free_test_function"</span><span class="special">;</span> <span class="identifier">testing</span> <span class="identifier">time</span><span class="special">:</span> <span class="number">50u</span><span class="identifier">s</span>
  176. <span class="identifier">example</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">:</span><span class="number">22</span><span class="special">:</span> <span class="identifier">Entering</span> <span class="identifier">test</span> <span class="keyword">case</span> <span class="string">"second-check-free-test-function"</span>
  177. <span class="identifier">example</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">:</span><span class="number">22</span><span class="special">:</span> <span class="identifier">Leaving</span> <span class="identifier">test</span> <span class="keyword">case</span> <span class="string">"second-check-free-test-function"</span><span class="special">;</span> <span class="identifier">testing</span> <span class="identifier">time</span><span class="special">:</span> <span class="number">32u</span><span class="identifier">s</span>
  178. <span class="identifier">Leaving</span> <span class="identifier">test</span> <span class="identifier">module</span> <span class="string">"Master Test Suite"</span><span class="special">;</span> <span class="identifier">testing</span> <span class="identifier">time</span><span class="special">:</span> <span class="number">158u</span><span class="identifier">s</span>
  179. <span class="special">***</span> <span class="identifier">No</span> <span class="identifier">errors</span> <span class="identifier">detected</span>
  180. </pre>
  181. </td></tr></tbody>
  182. </table></div>
  183. <p>
  184. A test case can be implemented as a method of a class. In this case a pointer
  185. to the class instance has to be bound to the test method to create a test
  186. case. You can use the same instance of the class for multiple test cases.
  187. The <span class="emphasis"><em>Unit Test Framework</em></span> doesn't take an ownership
  188. of the class instance and you are required to manage the class instance
  189. lifetime yourself.
  190. </p>
  191. <div class="warning"><table border="0" summary="Warning">
  192. <tr>
  193. <td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../../../doc/src/images/warning.png"></td>
  194. <th align="left">Warning</th>
  195. </tr>
  196. <tr><td align="left" valign="top"><p>
  197. The class instance can't be defined in the initialization function scope,
  198. since it becomes invalid as soon as the test execution exits it. It needs
  199. to be either defined statically/globally or managed using a shared pointer.
  200. </p></td></tr>
  201. </table></div>
  202. <h6>
  203. <a name="boost_test.tests_organization.test_cases.test_organization_nullary.h4"></a>
  204. <span class="phrase"><a name="boost_test.tests_organization.test_cases.test_organization_nullary.example_descr1"></a></span><a class="link" href="test_organization_nullary.html#boost_test.tests_organization.test_cases.test_organization_nullary.example_descr1">Example:
  205. Nullary method of a class bound to shared class instance and manually registered</a>
  206. </h6>
  207. <div class="informaltable"><table class="table">
  208. <colgroup><col></colgroup>
  209. <thead><tr><th>
  210. <p>
  211. Code
  212. </p>
  213. </th></tr></thead>
  214. <tbody><tr><td>
  215. <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><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>
  216. <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
  217. <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unit_test</span><span class="special">;</span>
  218. <span class="keyword">class</span> <span class="identifier">test_class</span>
  219. <span class="special">{</span>
  220. <span class="keyword">public</span><span class="special">:</span>
  221. <span class="keyword">void</span> <span class="identifier">test_method1</span><span class="special">()</span>
  222. <span class="special">{</span>
  223. <span class="identifier">BOOST_TEST</span><span class="special">(</span> <span class="keyword">true</span> <span class="comment">/* test assertion */</span> <span class="special">);</span>
  224. <span class="special">}</span>
  225. <span class="keyword">void</span> <span class="identifier">test_method2</span><span class="special">()</span>
  226. <span class="special">{</span>
  227. <span class="identifier">BOOST_TEST</span><span class="special">(</span> <span class="keyword">false</span> <span class="comment">/* test assertion */</span> <span class="special">);</span>
  228. <span class="special">}</span>
  229. <span class="special">};</span>
  230. <span class="identifier">test_suite</span><span class="special">*</span> <span class="identifier">init_unit_test_suite</span><span class="special">(</span> <span class="keyword">int</span> <span class="comment">/*argc*/</span><span class="special">,</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*argv*/</span><span class="special">[]</span> <span class="special">)</span>
  231. <span class="special">{</span>
  232. <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span><span class="identifier">test_class</span><span class="special">&gt;</span> <span class="identifier">tester</span><span class="special">(</span> <span class="keyword">new</span> <span class="identifier">test_class</span> <span class="special">);</span>
  233. <span class="identifier">framework</span><span class="special">::</span><span class="identifier">master_test_suite</span><span class="special">().</span>
  234. <span class="identifier">add</span><span class="special">(</span> <span class="identifier">BOOST_TEST_CASE</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">test_class</span><span class="special">::</span><span class="identifier">test_method1</span><span class="special">,</span> <span class="identifier">tester</span> <span class="special">)));</span>
  235. <span class="identifier">framework</span><span class="special">::</span><span class="identifier">master_test_suite</span><span class="special">().</span>
  236. <span class="identifier">add</span><span class="special">(</span> <span class="identifier">BOOST_TEST_CASE</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">bind</span><span class="special">(</span> <span class="special">&amp;</span><span class="identifier">test_class</span><span class="special">::</span><span class="identifier">test_method2</span><span class="special">,</span> <span class="identifier">tester</span> <span class="special">)));</span>
  237. <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
  238. <span class="special">}</span>
  239. </pre>
  240. </td></tr></tbody>
  241. </table></div>
  242. <div class="informaltable"><table class="table">
  243. <colgroup><col></colgroup>
  244. <thead><tr><th>
  245. <p>
  246. Output
  247. </p>
  248. </th></tr></thead>
  249. <tbody><tr><td>
  250. <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>
  251. <span class="identifier">Running</span> <span class="number">2</span> <span class="identifier">test</span> <span class="identifier">cases</span><span class="special">...</span>
  252. <span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">(</span><span class="number">22</span><span class="special">):</span> <span class="identifier">error</span><span class="special">:</span> <span class="identifier">in</span> <span class="string">"boost::bind( &amp;test_class::test_method2, tester )"</span><span class="special">:</span> <span class="identifier">check</span> <span class="keyword">false</span> <span class="identifier">has</span> <span class="identifier">failed</span>
  253. <span class="special">***</span> <span class="number">1</span> <span class="identifier">failure</span> <span class="identifier">is</span> <span class="identifier">detected</span> <span class="identifier">in</span> <span class="identifier">the</span> <span class="identifier">test</span> <span class="identifier">module</span> <span class="string">"Master Test Suite"</span>
  254. </pre>
  255. </td></tr></tbody>
  256. </table></div>
  257. </div>
  258. <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
  259. <td align="left"></td>
  260. <td align="right"><div class="copyright-footer">Copyright &#169; 2001-2019 Boost.Test
  261. contributors<p>
  262. Distributed under the Boost Software License, Version 1.0. (See accompanying
  263. 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>)
  264. </p>
  265. </div></td>
  266. </tr></table>
  267. <hr>
  268. <div class="spirit-nav">
  269. <a accesskey="p" href="../test_cases.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../test_cases.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="test_case_generation.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
  270. </div>
  271. </body>
  272. </html>