diff -r 000000000000 -r 2f259fa3e83a uifw/AvKon/tsrc/bc/bctestutil/inc/bctestcase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/AvKon/tsrc/bc/bctestutil/inc/bctestcase.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,158 @@ +/* +* 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: Test case class, user will create own test case class by +* deriving from the class. +* +*/ + + +#ifndef C_CBCTESTCASE_H +#define C_CBCTESTCASE_H + +#include "bctestassert.h" +#include "AutotestCommands.h" + +const TInt KNameLength = 50; + +/** + * Test case class, user will derive own test case from the class + */ +class CBCTestCase : public CBCTestAssert + { +public: + +// declaration + + /** + * Test case type + * EEndCase means the case is an instance of CBCTestEndCase + */ + enum TTestCaseType + { + ENormalCase, + EEndCase + }; + +// constructor + + /** + * C++ default constructor + */ + IMPORT_C CBCTestCase(); + + /** + * Destructor + */ + IMPORT_C virtual ~CBCTestCase(); + +// exported new functions + + /** + * Add script commands to the test case. + * @param aCmd, script command + */ + IMPORT_C void AddTestL( TInt aCmd, ... ); + + /** + * Add a series of commands defined in a TInt array to the test case + * @param aCmdArray, an array stored script commands + * @param aCmdCount, the count of script commands stored in aCmdArray. + */ + IMPORT_C void AddTestScriptL( const TInt* aCmdArray, TInt aCmdCount ); + +// exported virtual functions + + /** + * Do actual test work specified by parameter, here the functions is not + * implemented. User have to override it. + * @param, a value to a test command. + */ + IMPORT_C virtual void RunL( TInt ); + +// new functions + + /** + * Return iTestScripts. + */ + TInt* TestScripts(); + + /** + * Return the count of script commands stored in the test case. + */ + TInt ScriptCount(); + + /** + * Set name of test case + */ + void SetName( const TDesC& aName ); + + /** + * Get name of test case + */ + TDesC& Name(); + + /** + * Set type of test case. + */ + void SetType( TInt aType ); + + /** + * Get type of test case. + */ + TInt Type(); + +protected: + +// new functions + + /** + * Add a TInt to iTestScripts, and dynamically expand the array + * when necessary. + * @param aCmd, a script command. + */ + void AppendL( TInt aCmd ); + +private: // data + + /** + * Array to store script commands. Use TInt* for combining several + * TInt array together easily. And copying memory is not needed by + * the way. + * Own. + */ + TInt* iTestScripts; + + /** + * Record the count of script commands stored in iTestScripts. + */ + TInt iScriptCount; + + /** + * Record the maximum size of iTestScripts. + */ + TInt iMaxSize; + + /** + * The name of test case. + */ + TBuf iName; + + /** + * The type of test case, using the value ETestCaseType. + */ + TInt iType; + + }; + +#endif // C_CBCTESTCASE_H