📄 _test_assert_8h-source.html
字号:
<a name="l00146"></a><a class="code" href="group___assertions.html#ga3">00146</a> <span class="preprocessor">#define CPPUNIT_ASSERT_EQUAL(expected,actual) \</span>00147 <span class="preprocessor"> ( CPPUNIT_NS::assertEquals( (expected), \</span>00148 <span class="preprocessor"> (actual), \</span>00149 <span class="preprocessor"> CPPUNIT_SOURCELINE(), \</span>00150 <span class="preprocessor"> "" ) )</span>00151 <span class="preprocessor"></span><a name="l00170"></a><a class="code" href="group___assertions.html#ga4">00170</a> <span class="preprocessor">#define CPPUNIT_ASSERT_EQUAL_MESSAGE(message,expected,actual) \</span>00171 <span class="preprocessor"> ( CPPUNIT_NS::assertEquals( (expected), \</span>00172 <span class="preprocessor"> (actual), \</span>00173 <span class="preprocessor"> CPPUNIT_SOURCELINE(), \</span>00174 <span class="preprocessor"> (message) ) )</span>00175 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00176 <span class="preprocessor"></span><a name="l00180"></a><a class="code" href="group___assertions.html#ga5">00180</a> <span class="preprocessor">#define CPPUNIT_ASSERT_DOUBLES_EQUAL(expected,actual,delta) \</span>00181 <span class="preprocessor"> ( CPPUNIT_NS::assertDoubleEquals( (expected), \</span>00182 <span class="preprocessor"> (actual), \</span>00183 <span class="preprocessor"> (delta), \</span>00184 <span class="preprocessor"> CPPUNIT_SOURCELINE() ) )</span>00185 <span class="preprocessor"></span>00186 <a name="l00195"></a><a class="code" href="group___assertions.html#ga6">00195</a> <span class="preprocessor"># define CPPUNIT_ASSERT_THROW( expression, ExceptionType ) \</span>00196 <span class="preprocessor"> do { \</span>00197 <span class="preprocessor"> bool cpputExceptionThrown_ = false; \</span>00198 <span class="preprocessor"> try { \</span>00199 <span class="preprocessor"> expression; \</span>00200 <span class="preprocessor"> } catch ( const ExceptionType & ) { \</span>00201 <span class="preprocessor"> cpputExceptionThrown_ = true; \</span>00202 <span class="preprocessor"> } \</span>00203 <span class="preprocessor"> \</span>00204 <span class="preprocessor"> if ( cpputExceptionThrown_ ) \</span>00205 <span class="preprocessor"> break; \</span>00206 <span class="preprocessor"> \</span>00207 <span class="preprocessor"> CPPUNIT_NS::Asserter::fail( \</span>00208 <span class="preprocessor"> "Expected exception: " #ExceptionType \</span>00209 <span class="preprocessor"> " not thrown.", \</span>00210 <span class="preprocessor"> CPPUNIT_SOURCELINE() ); \</span>00211 <span class="preprocessor"> } while ( false )</span>00212 <span class="preprocessor"></span>00213 00214 <span class="comment">// implementation detail</span>00215 <span class="preprocessor">#if CPPUNIT_USE_TYPEINFO_NAME</span>00216 <span class="preprocessor"></span><span class="preprocessor">#define CPPUNIT_EXTRACT_EXCEPTION_TYPE_( exception, no_rtti_message ) \</span>00217 <span class="preprocessor"> CPPUNIT_NS::TypeInfoHelper::getClassName( typeid(exception) )</span>00218 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00219"></a><a class="code" href="_test_assert_8h.html#a7">00219</a> <span class="preprocessor"></span><span class="preprocessor">#define CPPUNIT_EXTRACT_EXCEPTION_TYPE_( exception, no_rtti_message ) \</span>00220 <span class="preprocessor"> std::string( no_rtti_message )</span>00221 <span class="preprocessor"></span><span class="preprocessor">#endif // CPPUNIT_USE_TYPEINFO_NAME</span>00222 <span class="preprocessor"></span><a name="l00232"></a><a class="code" href="group___assertions.html#ga7">00232</a> <span class="preprocessor"># define CPPUNIT_ASSERT_NO_THROW( expression ) \</span>00233 <span class="preprocessor"> try { \</span>00234 <span class="preprocessor"> expression; \</span>00235 <span class="preprocessor"> } catch ( const std::exception &e ) { \</span>00236 <span class="preprocessor"> CPPUNIT_NS::Message message( "Unexpected exception caught" ); \</span>00237 <span class="preprocessor"> message.addDetail( "Type: " + \</span>00238 <span class="preprocessor"> CPPUNIT_EXTRACT_EXCEPTION_TYPE_( e, \</span>00239 <span class="preprocessor"> "std::exception or derived" ) ); \</span>00240 <span class="preprocessor"> message.addDetail( std::string("What: ") + e.what() ); \</span>00241 <span class="preprocessor"> CPPUNIT_NS::Asserter::fail( message, \</span>00242 <span class="preprocessor"> CPPUNIT_SOURCELINE() ); \</span>00243 <span class="preprocessor"> } catch ( ... ) { \</span>00244 <span class="preprocessor"> CPPUNIT_NS::Asserter::fail( "Unexpected exception caught", \</span>00245 <span class="preprocessor"> CPPUNIT_SOURCELINE() ); \</span>00246 <span class="preprocessor"> }</span>00247 <span class="preprocessor"></span><a name="l00256"></a><a class="code" href="group___assertions.html#ga8">00256</a> <span class="preprocessor"># define CPPUNIT_ASSERT_ASSERTION_FAIL( assertion ) \</span>00257 <span class="preprocessor"> CPPUNIT_ASSERT_THROW( assertion, CPPUNIT_NS::Exception )</span>00258 <span class="preprocessor"></span>00259 <a name="l00268"></a><a class="code" href="group___assertions.html#ga9">00268</a> <span class="preprocessor"># define CPPUNIT_ASSERT_ASSERTION_PASS( assertion ) \</span>00269 <span class="preprocessor"> CPPUNIT_ASSERT_NO_THROW( assertion )</span>00270 <span class="preprocessor"></span>00271 00272 00273 00274 <span class="comment">// Backwards compatibility</span>00275 00276 <span class="preprocessor">#if CPPUNIT_ENABLE_NAKED_ASSERT</span>00277 <span class="preprocessor"></span>00278 <span class="preprocessor">#undef assert</span>00279 <span class="preprocessor"></span><span class="preprocessor">#define assert(c) CPPUNIT_ASSERT(c)</span>00280 <span class="preprocessor"></span><span class="preprocessor">#define assertEqual(e,a) CPPUNIT_ASSERT_EQUAL(e,a)</span>00281 <span class="preprocessor"></span><span class="preprocessor">#define assertDoublesEqual(e,a,d) CPPUNIT_ASSERT_DOUBLES_EQUAL(e,a,d)</span>00282 <span class="preprocessor"></span><span class="preprocessor">#define assertLongsEqual(e,a) CPPUNIT_ASSERT_EQUAL(e,a)</span>00283 <span class="preprocessor"></span>00284 <span class="preprocessor">#endif</span>00285 <span class="preprocessor"></span>00286 00287 <a class="code" href="_portability_8h.html#a7">CPPUNIT_NS_END</a>00288 00289 <span class="preprocessor">#endif // CPPUNIT_TESTASSERT_H</span></div></pre><hr><table width="100%"> <tr> <td width="10%" align="left" valign="center"> <a href="http://sourceforge.net"> <img src="http://sourceforge.net/sflogo.php?group_id=11795" width="88" height="31" border="0" alt="SourceForge Logo"></a> </td> <td width="20%" align="left" valign="center"> hosts this site. </td> <td> </td> <td align="right" valign="center"> Send comments to:<br> <a href="mailto:cppunit-devel@lists.sourceforge.net">CppUnit Developers</a> </td> </tr></table></body> </html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -