--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/CntBaseStep.h Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,153 @@
+/**
+* Copyright (c) 2006-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:
+*
+*/
+
+
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+#ifndef __CNT_BASE_STEP_H__
+#define __CNT_BASE_STEP_H__
+
+#include <test/testexecutestepbase.h>
+#include <cntdb.h>
+#include <cntitem.h>
+#include "CntPerfServer.h"
+#include "RCntList.h"
+
+namespace TestConstants
+ {
+ //strings to use for labels/values
+ _LIT(KLongString, "longstartkla sjd324flk jsak ldjflk asjdfka lsj34fdlkj salalk fjkajsdf lska1djfl ksajflkasldjlongend");
+ _LIT(KShortString, "a");
+ _LIT(KMediumString, "ajkldjKJIlk30aksdjjfei");
+
+ _LIT(KTime,"22000101:235959.999999");// time to use for datetime storage
+ static const TContactItemId KContactId = 1;//contact id to use for agent storage
+ static const TTime KDateTime(KTime);
+ static const TInt KAltUID = 1900;
+ static const TInt KInitialUID = 1100;
+ }
+
+#define CLEAR(x) { delete x; x = NULL; }
+
+//necessary, so that __FILE__ macro is executed
+#define FILE(file) _S(file)
+
+#define STRINGCOMPARE( compareLeft, compareOperation, compareRight, iteration, subiteration )\
+ StringComparisonTestPrint(compareLeft, _S(#compareOperation), compareRight,\
+ (compareLeft compareOperation compareRight), iteration, subiteration, __LINE__, FILE(__FILE__))
+
+#define INTCOMPARE( compareLeft, compareOperation, compareRight, iteration, subiteration )\
+ IntegerComparisonTestPrint(compareLeft, _S(#compareOperation), compareRight,\
+ (compareLeft compareOperation compareRight), iteration, subiteration, __LINE__, FILE(__FILE__))
+
+#define SINGLECOMPARE( compareOperation, iteration, subiteration )\
+ IntegerComparisonTestPrint(ETrue, _S(#compareOperation), ETrue,\
+ (compareOperation), iteration, subiteration, __LINE__, FILE(__FILE__))
+
+class CCntBaseStep : public CTestStep
+ {
+public:
+ CCntBaseStep(const TInt aContacts):iContacts(aContacts), iParent(NULL)
+ {
+ }
+ CCntBaseStep(const TInt aContacts, CCntPerfServer &aParent):iContacts(aContacts), iParent(&aParent)
+ {
+ }
+ virtual ~CCntBaseStep();
+ virtual TVerdict doTestStepPreambleL();
+ virtual TVerdict doTestStepPostambleL();
+
+protected:
+ void AddUIDsL(CContactItemFieldSet &aFields, const TInt32 aFieldType) const;
+ TBool CheckUIDsL(const CContactItemFieldSet &aFields, const TInt32 aFieldType) const;
+ void SetLabelL( CContactItemFieldSet &aFields, const TInt aPos,
+ const TDesC &aLabel) const;
+ void AddNewFieldL( CContactItemFieldSet &aFields,const TDesC& aLabel,
+ const TFieldType aFieldType, const TBool aEmpty=EFalse) const;
+ TBool CheckNewFieldL( const CContactItemFieldSet &aFields, const TInt aPos,
+ const TFieldType aFieldType, const TBool aEmpty=EFalse) const;
+ void SetFieldL( CContactItemFieldSet &aFields,const TInt aPos,
+ const TDesC &aText) const;
+ TBool CompareFieldsL( const CContactItemFieldSet &aFields, const TInt aPos,
+ const TDesC &aText) const;
+ void SetContactFieldsL(CContactItem &aContact) const;
+ void SetContactFieldsL(CContactItem &aContact, const TInt aCount) const;
+ TBool CheckContactFieldsL(const CContactItem &aContact) const;
+ void SetContactLabelsL(CContactItem &aContact) const;
+ TBool CheckContactLabelsL(const CContactItem &aContact);
+ virtual void InitializeL();
+ virtual void Cleanup();
+ virtual void PreTestL() =0;
+ static TInt CountEmpty(const CContactItemFieldSet &aFields);
+ void PrintCurrentContactL(const CContactItem &aContact) const;
+ void PrintCurrentContactL(const TContactItemId aCid) const;
+ TInt CountHiddenFields(const CContactItemFieldSet &aFields) const;
+ void OpenL( const TContactItemId aCid, const CContactItemViewDef &aView,
+ const TBool aDefault=EFalse);
+ void CommitL();
+ void ReadL( const TContactItemId aCid, const CContactItemViewDef &aView,
+ const TBool aDefault=EFalse);
+ void ReadMinimalL( const TContactItemId aCid, const CContactItemViewDef &aView,
+ const CContactItemViewDef &aDefView, const TBool aDefault=EFalse);
+ void Close();
+ void AddEmptyContactsL(const TInt aNumber);
+ void MissngTestPanic() const;
+ void WaitForServerToExitL();
+
+ TBool StringComparisonTestPrint( const TDesC &aCompareL,
+ const TText *aCompareOperator,
+ const TDesC &aCompareR,
+ const TBool aResult,
+ const TInt aIteration,
+ const TInt aSubIteration,
+ const TInt aLine,
+ const TText *aFile);
+
+ TBool IntegerComparisonTestPrint( const TInt aCompareL,
+ const TText *aCompareOperator,
+ const TInt aCompareR,
+ const TBool aResult,
+ const TInt aIteration,
+ const TInt aSubIteration,
+ const TInt aLine,
+ const TText *aFile);
+
+private:
+ TBool CompareLabels(const CContactItemFieldSet &aFields, const TInt aPos,
+ const TDesC &aLabel);
+ void GetExistingUIDsL(RArray<TInt32> &aArray) const;
+ CContactItemViewDef *CopyViewL(const CContactItemViewDef &aView);
+ void CloseProcessL(const TDesC& aProcessName, const TInt aIteration);
+
+
+protected:
+ TInt iContacts;
+ CContactDatabase *iContactsDatabase;
+ CContactItemViewDef *iViewAll;
+ RArray<TInt32> *iExistingUidsArray;
+ CContactItem *iContactItem;
+ CContactItemFieldSet *iFields;
+ RCntList *iIterate;
+ CCntPerfServer *iParent;
+ CContactTemplate *iTemplate;
+
+ };
+#endif