testexecfw/symbianunittestfw/sutfw/sutfwcore/sutfwframework/tsrc/src/ut_symbianunittestresult.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecfw/symbianunittestfw/sutfw/sutfwcore/sutfwframework/tsrc/src/ut_symbianunittestresult.cpp Mon Mar 08 15:03:44 2010 +0800
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+#include "ut_symbianunittestresult.h"
+#include "symbianunittestresult.h"
+#include "symbianunittestfailure.h"
+#include <symbianunittestmacros.h>
+
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+UT_CSymbianUnitTestResult* UT_CSymbianUnitTestResult::NewL()
+ {
+ UT_CSymbianUnitTestResult* self = UT_CSymbianUnitTestResult::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+UT_CSymbianUnitTestResult* UT_CSymbianUnitTestResult::NewLC()
+ {
+ UT_CSymbianUnitTestResult* self =
+ new( ELeave )UT_CSymbianUnitTestResult();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+UT_CSymbianUnitTestResult::UT_CSymbianUnitTestResult()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::ConstructL()
+ {
+ BASE_CONSTRUCT
+ ADD_SUT( UT_TestCountL )
+ ADD_SUT( UT_StartTestL )
+ ADD_SUT( UT_AddFailureL )
+ ADD_SUT( UT_AddSetupErrorL )
+ ADD_SUT( UT_AddLeaveFromTestL )
+ ADD_SUT( UT_AddAssertFailureL )
+ ADD_SUT( UT_AddMemoryLeakInfoL )
+ ADD_SUT( UT_AddPanicInfoL )
+ ADD_SUT( UT_AddTimeOutErrorL )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+UT_CSymbianUnitTestResult::~UT_CSymbianUnitTestResult()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::SetupL()
+ {
+ iUnitTestResult = CSymbianUnitTestResult::NewL();
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::Teardown()
+ {
+ delete iUnitTestResult;
+ iUnitTestResult = NULL;
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_TestCountL()
+ {
+ // No tests
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->TestCount() )
+
+ // Increment the test count
+ iUnitTestResult->iTestCount++;
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->TestCount() )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_StartTestL()
+ {
+ SUT_ASSERT_EQUALS( KNullDesC, *iUnitTestResult->iCurrentTestName )
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->TestCount() )
+
+ _LIT( KTestName, "FailedTest" );
+ iUnitTestResult->StartTestL( KTestName );
+ SUT_ASSERT_EQUALS( KTestName, *iUnitTestResult->iCurrentTestName )
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->TestCount() )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_AddFailureL()
+ {
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() )
+
+ _LIT8( KFailureText, "FailureText" );
+
+ // Memory allocation failure rate 0
+ iUnitTestResult->AddFailureL( KFailureText, 0 );
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT_EQUALS(
+ KFailureText, iUnitTestResult->Failures()[ 0 ]->FailureMessage() )
+ SUT_ASSERT_EQUALS(
+ KErrNotFound, iUnitTestResult->Failures()[ 0 ]->LineNumber() )
+ SUT_ASSERT_EQUALS(
+ KNullDesC8, iUnitTestResult->Failures()[ 0 ]->FileName() )
+
+ // Memory allocation failure rate > 0
+ iUnitTestResult->AddFailureL( KFailureText, 1 );
+ SUT_ASSERT_EQUALS( 2, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT(
+ iUnitTestResult->Failures()[ 1 ]->FailureMessage() != KFailureText )
+ SUT_ASSERT_EQUALS(
+ KErrNotFound, iUnitTestResult->Failures()[ 1 ]->LineNumber() )
+ SUT_ASSERT_EQUALS(
+ KNullDesC8, iUnitTestResult->Failures()[ 1 ]->FileName() )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_AddSetupErrorL()
+ {
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() )
+
+ const TInt KErrorCode = KErrGeneral;
+ iUnitTestResult->AddSetupErrorL( KErrorCode );
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT(
+ iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_AddLeaveFromTestL()
+ {
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() )
+
+ iUnitTestResult->AddLeaveFromTestL( KErrGeneral, 0 );
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT(
+ iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_AddAssertFailureL()
+ {
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() )
+
+ _LIT8( KFailureMessage, "assert failure" );
+ const TInt KLineNumber = 123;
+ _LIT8( KFileName, "myfilename.cpp" );
+ iUnitTestResult->AddAssertFailureL(
+ KFailureMessage, KLineNumber, KFileName );
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT_EQUALS(
+ KFailureMessage, iUnitTestResult->Failures()[ 0 ]->FailureMessage() )
+ SUT_ASSERT_EQUALS(
+ KLineNumber, iUnitTestResult->Failures()[ 0 ]->LineNumber() )
+ SUT_ASSERT_EQUALS(
+ KFileName, iUnitTestResult->Failures()[ 0 ]->FileName() )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_AddMemoryLeakInfoL()
+ {
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() )
+
+ iUnitTestResult->AddMemoryLeakInfoL( 1, 0 );
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT(
+ iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_AddPanicInfoL()
+ {
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() )
+
+ TExitCategoryName dummy;
+ iUnitTestResult->AddPanicInfoL( dummy, KErrGeneral, 0 );
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT(
+ iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 )
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestResult::UT_AddTimeOutErrorL()
+ {
+ SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() )
+
+ const TInt KTimeOut = 10;
+ iUnitTestResult->AddTimeOutErrorL( KTimeOut );
+ SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() )
+ SUT_ASSERT(
+ iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 )
+ }
+