 |
 |
|
Do Good! - Share Freely, Enrich and Empower people to Transform their lives. |
// Source: UnitTestRunner.cpp
// Author: Rajinder Yadav
// Date: June 30, 2004
//
// Copyright (c) Rajinder Yadav 2004, 2007
//
// web: http://devmentor.org
// email: rajinder@devmentor.org
//
#include "stdafx.h"
#include "IUnitTestRunner.h"
#include "IUnitTestObserver.h"
#include "UnitTestRunner.h"
UnitTestRunner::UnitTestRunner(const wchar_t* const name) :
m_strTestClass(name),
m_nTestCases(0),
m_nFailed(0),
m_nExceptions(0)
{
m_strMessageStream.rdbuf()->str( L"" );
}
UnitTestRunner::~UnitTestRunner()
{
}
void UnitTestRunner::NofityObserver(TESTCASE_EVENT eResult)
{
std::vector<IUnitTestObserver*>::iterator it = m_ObserverList.begin();
while( it != m_ObserverList.end() )
{
IUnitTestObserver* observer = static_cast<IUnitTestObserver*>(*it);
// optimized in most likely, most occuring order
// maintain case order as declared in the enum TESTCASE_EVENT
switch ( eResult )
{
case TC_EVENT_PASSED:
observer->Passed( static_cast<IUnitTestRunner&>(*this) );
break;
case TC_EVENT_START:
observer->UnitTestStart( static_cast<IUnitTestRunner&>(*this) );
break;
case TC_EVENT_END:
observer->UnitTestEnd( static_cast<IUnitTestRunner&>(*this) );
break;
case TC_EVENT_FAILED:
observer->Failed( static_cast<IUnitTestRunner&>(*this) );
break;
case TC_EVENT_EXCEPTION:
observer->Exception( static_cast<IUnitTestRunner&>(*this) );
break;
default:
_ASSERT(false); // unknown event
} // switch
++it;
} // while
}
Back
Copyright © 2007 Rajinder Yadav, All rights reserved