test.cpp

来自「这是国外的resip协议栈」· C++ 代码 · 共 98 行

CPP
98
字号
#include <cppunit/Portability.h>#include <cppunit/Test.h>#include <cppunit/TestPath.h>#include <stdexcept>CPPUNIT_NS_BEGINTest *Test::getChildTestAt( int index ) const{  checkIsValidIndex( index );  return doGetChildTestAt( index );}Test *Test::findTest( const std::string &testName ) const{  TestPath path;  Test *mutableThis = CPPUNIT_CONST_CAST( Test *, this );  mutableThis->findTestPath( testName, path );  if ( !path.isValid() )    throw std::invalid_argument( "No test named <" + testName + "> found in test <"                                 + getName() + ">." );  return path.getChildTest();}bool Test::findTestPath( const std::string &testName,                    TestPath &testPath ) const{  Test *mutableThis = CPPUNIT_CONST_CAST( Test *, this );  if ( getName() == testName )  {    testPath.add( mutableThis );    return true;  }  int childCount = getChildTestCount();  for ( int childIndex =0; childIndex < childCount; ++childIndex )  {    if ( getChildTestAt( childIndex )->findTestPath( testName, testPath ) )    {      testPath.insert( mutableThis, 0 );      return true;    }  }  return false;}bool Test::findTestPath( const Test *test,                    TestPath &testPath ) const{  Test *mutableThis = CPPUNIT_CONST_CAST( Test *, this );  if ( this == test )  {    testPath.add( mutableThis );    return true;  }  int childCount = getChildTestCount();  for ( int childIndex =0; childIndex < childCount; ++childIndex )  {    if ( getChildTestAt( childIndex )->findTestPath( test, testPath ) )    {      testPath.insert( mutableThis, 0 );      return true;    }  }  return false;}TestPath Test::resolveTestPath( const std::string &testPath ) const{  Test *mutableThis = CPPUNIT_CONST_CAST( Test *, this );  return TestPath( mutableThis, testPath );}void Test::checkIsValidIndex( int index ) const{  if ( index < 0  ||  index >= getChildTestCount() )    throw std::out_of_range( "Test::checkValidIndex(): invalid index" );}  CPPUNIT_NS_END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?