diff -r 000000000000 -r 3e07fef1e154 testexecfw/symbianunittestfw/symbianunittestfw_pub/symbian_unit_test_api/inc/symbianunittestsuite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testexecfw/symbianunittestfw/symbianunittestfw_pub/symbian_unit_test_api/inc/symbianunittestsuite.h Mon Mar 08 15:03:44 2010 +0800 @@ -0,0 +1,107 @@ +/* +* 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: +* +*/ + +#ifndef SYMBIANUNITTESTSUITE_H +#define SYMBIANUNITTESTSUITE_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION +/** +* A class to collect a number of unit tests to be executed +* during a particular test run. +* +* @lib symbianunittestfw.lib +*/ +class CSymbianUnitTestSuite : public CBase, public MSymbianUnitTestInterface + { + public: // Constructors and destructor + + /** + * Creates an empty unit test suite. + * @param aName the name of the unit test suite + * @return a new instance of CSymbianUnitTestSuite, + * the ownership is transferred + */ + IMPORT_C static CSymbianUnitTestSuite* NewL( const TDesC& aName ); + + /** + * Creates an empty unit test suite and pushes it to the CleanupStack. + * @param aName the name of the unit test suite + * @return a new instance of CSymbianUnitTestSuite, + * the ownership is transferred + */ + IMPORT_C static CSymbianUnitTestSuite* NewLC( const TDesC& aName ); + + /** + * Destructor + */ + IMPORT_C ~CSymbianUnitTestSuite(); + + public: // From MSymbianUnitTestInterface + + /** + * Function called by the framework to execute + * the unit tests contained in this test suite. + * There is no need to call this function directly from the unit tests. + * + * @param aObserver an observer for the test progress + * @param aResult the test result + * @param aFailureSimulation the type of failure simulation to be used + * @param aTestCaseNames the test cases to run + * @param aTimeout the time out value for test execution + */ + IMPORT_C void ExecuteL( + MSymbianUnitTestObserver& aObserver, + CSymbianUnitTestResult& aResult, + MSymbianUnitTestInterface::TFailureSimulation aFailureSimulation, + const CDesCArray& aTestCaseNames, + TInt aTimeout ); + + /** + * Returns the number of unit tests contained in this unit test suite + * @return The number of unit tests in this unit test suite + */ + IMPORT_C TInt TestCaseCount(); + + /** + * @return The name of this unit test suite + */ + IMPORT_C const TDesC& Name() const; + + public: // New functions + + /** + * Adds a new unit test to this unit test suite. + * @param aTest the test to be added, the ownership is transferred. + */ + IMPORT_C void AddL( MSymbianUnitTestInterface* aTest ); + + private: // Constructors + + CSymbianUnitTestSuite(); + void ConstructL( const TDesC& aName ); + + private: // Data + + RPointerArray< MSymbianUnitTestInterface > iTests; + HBufC* iName; + }; + +#endif // SYMBIANUNITTESTSUITE_H