diff -r 000000000000 -r 2f259fa3e83a uifw/AvKon/tsrc/bc/bctestutil/src/bctestassert.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/AvKon/tsrc/bc/bctestutil/src/bctestassert.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,178 @@ +/* +* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Assert tool for checking test result and write log. +* +*/ + + +#include "bctestassert.h" +#include "bctestlogger.h" + +_LIT( KFailedTest, "Failed test "); +_LIT( KTestSucceed, "Test succeeded." ); +_LIT( KTrueFail, "Return value is false." ); +_LIT( KNotNullFail, "Verified pointer is NULL." ); +_LIT( KIntFailFormat, "Return value is not expected. It is %d." ); +_LIT( KCommentFormat, "%d. %s. " ); + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// Constructor +// --------------------------------------------------------------------------- +// +EXPORT_C CBCTestAssert::CBCTestAssert() + { + } + +// --------------------------------------------------------------------------- +// Destructor +// --------------------------------------------------------------------------- +// +EXPORT_C CBCTestAssert::~CBCTestAssert() + { + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::SetLogger +// Setor for iLogger. +// --------------------------------------------------------------------------- +// +void CBCTestAssert::SetLogger( CBCTestLogger* aLogger ) + { + if ( aLogger ) + { + iLogger = aLogger; + } + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::AssertLogL +// Write assert result to log file. +// --------------------------------------------------------------------------- +// +void CBCTestAssert::AssertLogL( TAssertType aType, TBool aSuccess, + const TDesC& aComments, SAssertParam* aParam ) + { + if ( !iLogger || aType >= EAssertEnd || aType < EAssertInt ) + { + return; + } + + iTestCount++; + TDes& buf = iLogger->Buffer(); + buf.Zero(); + + if ( !aSuccess ) + { + buf.Append( KFailedTest ); + iFailedCount++; + } + buf.AppendFormat( + TPtrC( KCommentFormat ), iTestCount, aComments.Ptr() ); + if ( !aSuccess ) + { + switch ( aType ) + { + case EAssertInt: + if ( aParam ) + { + buf.AppendFormat( + TPtrC( KIntFailFormat ), aParam->intValue ); + } + break; + case EAssertTrue: + buf.Append( KTrueFail ); + break; + case EAssertNotNull: + buf.Append( KNotNullFail ); + break; + default: + break; + } + } + else + { + buf.Append( KTestSucceed ); + } + iLogger->CreateTimeStamp( buf ); + iLogger->WriteLogL( buf ); + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::AssertIntL +// --------------------------------------------------------------------------- +// +EXPORT_C void CBCTestAssert::AssertIntL( + TInt aExpect, TInt aActual, const TDesC& aComments ) + { + SAssertParam param; + param.intValue = aActual; + AssertLogL( EAssertInt, ( aExpect == aActual ), aComments, ¶m ); + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::AssertTrueL +// --------------------------------------------------------------------------- +// +EXPORT_C void CBCTestAssert::AssertTrueL( + TBool aActual, const TDesC& aComments ) + { + AssertLogL( EAssertTrue, aActual, aComments ); + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::AssertNotNullL +// --------------------------------------------------------------------------- +// +EXPORT_C void CBCTestAssert::AssertNotNullL( + TAny* aActual, const TDesC& aComments ) + { + AssertLogL( EAssertNotNull, ( aActual != NULL ), aComments ); + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::WriteLogL +// Write a sentence of information to log file. +// --------------------------------------------------------------------------- +// +EXPORT_C void CBCTestAssert::WriteLogL( const TDesC& aLogText ) + { + TDes& buf = iLogger->Buffer(); + buf.Zero(); + buf.Append( aLogText ); + buf.Append( KLogLine ); + iLogger->WriteLogL( buf ); + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::GetTestSummary +// --------------------------------------------------------------------------- +// +void CBCTestAssert::GetTestSummary( TInt& aTestCount, + TInt& aFailedCount ) const + { + aTestCount = iTestCount; + aFailedCount = iFailedCount; + } + +// --------------------------------------------------------------------------- +// CBCTestAssert::ClearTestSummary +// --------------------------------------------------------------------------- +// +void CBCTestAssert::ClearTestSummary() + { + iTestCount = 0; + iFailedCount = 0; + }