 |
 |
|
Rajinder Yadav - Windows C++ Development Tools & Resources :Design, Code, Test, Deploy |
// Source: ConsoleLogger.h
// Author: Rajinder Yadav
// Date: July 5, 2004
//
// Copyright (c) Rajinder Yadav 2004, 2007
//
// web: http://devmentor.org
// email: rajinder@devmentor.org
//
#include "stdafx.h"
#include "UnitTestAssembly.h"
#include "IUnitTestRunner.h"
#include "IUnitTestObserver.h"
#include "UnitTestRunner.h"
#include "ConsoleLogger.h"
using std::wcout;
using std::endl;
ConsoleLogger::ConsoleLogger()
{
m_nTestRun = 0;
m_nFailed = 0;
m_nExceptions = 0;
}
ConsoleLogger::~ConsoleLogger()
{
wcout << "----------------" << endl
<< "Overall Summary" << endl
<< "----------------" << endl
<< "Total Run: " << m_nTestRun << endl
<< "Total Failed: " << m_nFailed << endl
<< "Total Exceptions: " << m_nExceptions << endl;
}
void ConsoleLogger::UnitTestStart(IUnitTestRunner& subject)
{
try
{
wcout << "-----------------------------------------" << endl
<< "Test Runner: " << dynamic_cast<UnitTestRunner&>(subject).ClassNameIs() << endl
<< "-----------------------------------------" << endl
<< endl
<< "Unit Test Started" << endl;
}
catch( std::bad_cast e )
{
_ASSERT(0); // something is wrong!
}
}
void ConsoleLogger::Failed(IUnitTestRunner& subject)
{
try
{
wcout << dynamic_cast<UnitTestRunner&>(subject).TestMsgIs() << endl;
}
catch(std::bad_cast e)
{
_ASSERT(0); // something is wrong!
}
}
void ConsoleLogger::Passed(IUnitTestRunner& subject)
{
try
{
wcout << dynamic_cast<UnitTestRunner&>(subject).TestMsgIs() << endl;
}
catch(std::bad_cast e)
{
_ASSERT(0); // something is wrong!
}
}
void ConsoleLogger::Exception(IUnitTestRunner& subject)
{
try
{
wcout << dynamic_cast<UnitTestRunner&>(subject).TestMsgIs() << endl;
}
catch(std::bad_cast e)
{
_ASSERT(0); // something is wrong!
}
}
void ConsoleLogger::UnitTestEnd(IUnitTestRunner& subject)
{
try
{
wcout << "Unit Test complete. "
<< endl << endl
<< "Test Summary: Tests("
<< dynamic_cast<UnitTestRunner&>(subject).TestCountIs() << ")"
<< " Fails("
<< dynamic_cast<UnitTestRunner&>(subject).FailedCountIs() << ")"
<< " Exceptions("
<< dynamic_cast<UnitTestRunner&>(subject).ExceptionCountIs() << ")"
<< endl << endl;
m_nTestRun += dynamic_cast<UnitTestRunner&>(subject).TestCountIs();
m_nFailed += dynamic_cast<UnitTestRunner&>(subject).FailedCountIs();
m_nExceptions += dynamic_cast<UnitTestRunner&>(subject).ExceptionCountIs();
}
catch(std::bad_cast e)
{
_ASSERT(0); // something is wrong!
}
}
Back
Copyright © 2007 Rajinder Yadav, All rights reserved