testcasetest.cpp

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

CPP
162
字号
#include "CoreSuite.h"#include "FailureException.h"#include "MockTestCase.h"#include "TestCaseTest.h"#include <cppunit/TestResult.h>/* - test have been done to check exception management in run(). other    tests need to be added to check the other aspect of TestCase. */CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestCaseTest,                                       coreSuiteName() );TestCaseTest::TestCaseTest(){}TestCaseTest::~TestCaseTest(){}void TestCaseTest::setUp(){  m_testListener = new MockTestListener( "mock-testlistener" );  m_result = new CPPUNIT_NS::TestResult();  m_result->addListener( m_testListener );}void TestCaseTest::tearDown(){  delete m_result;  delete m_testListener;}void TestCaseTest::testSetUpFailure(){  checkFailure( true, false, false );}void TestCaseTest::testRunTestFailure(){  checkFailure( false, true, false );}void TestCaseTest::testTearDownFailure(){  checkFailure( false, false, true );}void TestCaseTest::testFailAll(){  checkFailure( true, true, true );}void TestCaseTest::testNoFailure(){  checkFailure( false, false, false );}void TestCaseTest::checkFailure( bool failSetUp,                             bool failRunTest,                            bool failTearDown ){  try  {    MockTestCase testCase( "mock-test" );    if ( failSetUp )      testCase.makeSetUpThrow();    if ( failRunTest )      testCase.makeRunTestThrow();    if ( failTearDown )      testCase.makeTearDownThrow();    testCase.setExpectedSetUpCall( 1 );    testCase.setExpectedRunTestCall( failSetUp ? 0 : 1 );    testCase.setExpectedTearDownCall( failSetUp ? 0 : 1 );        testCase.run( m_result );    testCase.verify();  }  catch ( FailureException & )  {    CPPUNIT_ASSERT_MESSAGE( "exception should have been caught", false );  }}void TestCaseTest::testCountTestCases(){  CPPUNIT_NS::TestCase test;  CPPUNIT_ASSERT_EQUAL( 1, test.countTestCases() );}void TestCaseTest::testDefaultConstructor(){  CPPUNIT_NS::TestCase test;  CPPUNIT_ASSERT_EQUAL( std::string(""), test.getName() );}void TestCaseTest::testConstructorWithName(){  std::string testName( "TestName" );  CPPUNIT_NS::TestCase test( testName );  CPPUNIT_ASSERT_EQUAL( testName, test.getName() );}void TestCaseTest::testTwoRun(){  MockTestCase test1( "mocktest1" );  test1.makeRunTestThrow();  m_testListener->setExpectedStartTestCall( 2 );  m_testListener->setExpectedAddFailureCall( 2 );  m_testListener->setExpectedEndTestCall( 2 );  test1.run( m_result );  test1.run( m_result );  m_testListener->verify();}void TestCaseTest::testGetChildTestCount(){  CPPUNIT_NS::TestCase test( "test" );  CPPUNIT_ASSERT_EQUAL( 0, test.getChildTestCount() );}void TestCaseTest::testGetChildTestAtThrow(){  CPPUNIT_NS::TestCase test( "test" );  test.getChildTestAt( 0 );}

⌨️ 快捷键说明

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