--- a/uiservicetab/vimpststorage/tsrc/vimpststorage_ut/cvimpststoragecontactsorter_ut/src/CVIMPSTStorageContactSorter_UTBlocks.cpp Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,530 +0,0 @@
-/*
-* 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 FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <StifTestInterface.h>
-#include "CVIMPSTStorageContactSorter_UT.h"
-#include "cvimpststoragecontactsorter.h"
-#include "vimpstdebugtrace.h"
-#include <flogger.h>
-#include "mvimpststoragecontact.h"
-#include "cvimpststoragecontact.h"
-#include "tvimpstenums.h"
-#include "tvimpststoragepanics.h"
-
-_LIT( KUserId1, "vidic@mu.com");
-_LIT( KUserId2, "carr@mu.com");
-_LIT( KUserId3, "terry@mu.com");
-_LIT( KUserId4, "gibbs@mu.com");
-
-_LIT( KDisplayName1, "vidic");
-_LIT( KDisplayName2, "carr");
-_LIT( KDisplayName3, "terry");
-_LIT( KDisplayName4, "gibbs");
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCVIMPSTStorageContactSorter_UT::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void CCVIMPSTStorageContactSorter_UT::Delete()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CCVIMPSTStorageContactSorter_UT::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CCVIMPSTStorageContactSorter_UT::RunMethodL(
- CStifItemParser& aItem )
- {
-
- static TStifFunctionInfo const KFunctions[] =
- {
- // Copy this line for every implemented function.
- // First string is the function name used in TestScripter script file.
- // Second is the actual implementation member function.
- ENTRY( "CreateSorter", CCVIMPSTStorageContactSorter_UT::Test_NewL ),
- ENTRY( "DoSort", CCVIMPSTStorageContactSorter_UT::Test_SortL ),
- ENTRY( "SelectAlgorithm", CCVIMPSTStorageContactSorter_UT::SetSortAlgorithm ),
- ENTRY( "CompareContacts", CCVIMPSTStorageContactSorter_UT::Test_CompareL ),
- //ADD NEW ENTRY HERE
- // [test cases entries] - Do not remove
-
- };
-
- const TInt count = sizeof( KFunctions ) /
- sizeof( TStifFunctionInfo );
-
- return RunInternalL( KFunctions, count, aItem );
-
- }
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-TInt CCVIMPSTStorageContactSorter_UT::Test_NewL( CStifItemParser& aItem )
- {
- TInt result = KErrGeneral;
-
- CVIMPSTStorageContactSorter* sorter = NULL;
-
- sorter = CVIMPSTStorageContactSorter::NewL();
-
- if( sorter )
- {
- result = KErrNone;
- }
- if( sorter )
- {
- delete sorter;
- }
- return result;
- }
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-TInt CCVIMPSTStorageContactSorter_UT::Test_SortL( CStifItemParser& aItem )
- {
- TInt result = KErrGeneral;
-
- TPtrC param;
-
- MVIMPSTStorageContact::TSortAlgorithm sortAlgorithm;
-
- aItem.GetNextString( param );
-
- CVIMPSTStorageContactSorter* sorter = NULL;
-
- sorter = CVIMPSTStorageContactSorter::NewL();
-
- // setting the algorithm to be used for sorting.
- if( param.Compare( _L("alpha") ) == 0 )
- {
- sortAlgorithm = MVIMPSTStorageContact::ECompareAlphabetically;
- }
- else if( param.Compare( _L("presence") ) == 0 )
- {
- sortAlgorithm = MVIMPSTStorageContact::ECompareByPresence;
- }
-
- // comparing the sorted array and result array.
- // setting the result for the test case.
- TInt compareResult = -1;
-
- CreateContactArray();
-
- switch( sortAlgorithm )
- {
- case MVIMPSTStorageContact::ECompareByPresence:
- {
- // sorting the contact array
- sorter->SetSortAlgorithm( sortAlgorithm );
- CreatePresenceSortArray();
- sorter->Sort( iContactArray );
- compareResult = CompareArray( iContactArray, iPresenceSortArray );
- ResetArray( iPresenceSortArray );
- break;
- }
- case MVIMPSTStorageContact::ECompareAlphabetically:
- default:
- {
- // sorting the contact array
- sorter->SetSortAlgorithm( sortAlgorithm );
- CreateAlphabeticalSortArray();
- sorter->Sort( iContactArray );
- compareResult = CompareArray( iContactArray, iAlphabeticalSortArray );
- ResetArray( iAlphabeticalSortArray );
- break;
- }
- }
- ResetArray( iContactArray );
-
- if( -1 == compareResult )
- {
- result = KErrNone;
- }
-
- if( sorter )
- delete sorter;
-
- return result;
- }
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-TInt CCVIMPSTStorageContactSorter_UT::Test_CompareL( CStifItemParser& aItem )
- {
- TInt result = KErrGeneral;
-
- CVIMPSTStorageContactSorter* sorter = NULL;
-
- sorter = CVIMPSTStorageContactSorter::NewL();
-
- CVIMPSTStorageContact* contact1 = NULL;
- CVIMPSTStorageContact* contact2 = NULL;
- TBuf<64> userId;
- TBuf<64> displayName;
-
- TPtrC param;
- aItem.GetNextString( param );
- TInt compareResult;
-
- if( param.Compare( _L("2validcontacts") ) == 0 )
- {
- // first contact
- userId.Copy(KUserId1);
- displayName.Copy( KDisplayName1 );
- contact1 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- // second contact
- userId.Copy(KUserId2);
- displayName.Copy( KDisplayName2 );
- contact2 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- compareResult = sorter->Compare( *contact1, *contact2 );
-
- if( compareResult )
- {
- result = KErrNone;
- }
-
- }
- else if( param.Compare( _L("1validcontact") ) == 0 )
- {
- // first contact
- userId.Copy(KUserId1);
- displayName.Copy( KDisplayName1 );
- contact1 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- // null contact
-
- userId.Copy( KNullDesC );
- displayName.Copy( KNullDesC );
- contact2 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- compareResult = sorter->Compare( *contact1, *contact2 );
-
- if( compareResult ) // Not Equal
- {
- result = KErrNone;
- }
-
- }
- else if( param.Compare( _L("1nullcontact") ) == 0 )
- {
-
- // nullcontact
- userId.Copy( KNullDesC );
- displayName.Copy( KNullDesC );
- contact1 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- // second contact
- userId.Copy(KUserId2);
- displayName.Copy( KDisplayName2 );
- contact2 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- compareResult = sorter->Compare( *contact1, *contact2 );
-
- if( compareResult ) // Not Equal
- {
- result = KErrNone;
- }
-
- }
- else if( param.Compare( _L( "2nullcontacts") ) == 0 )
- {
- // first contact, null
- userId.Copy( KNullDesC );
- displayName.Copy( KNullDesC );
- contact1 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- // second contact, null
- userId.Copy( KNullDesC );
- displayName.Copy( KNullDesC );
- contact2 = CVIMPSTStorageContact::NewL( userId, displayName );
-
-
- // no contact
- compareResult = sorter->Compare( *contact1, *contact2 );
-
- if( compareResult == 0 )
- {
- result = KErrNone;
- }
-
- }
- else if( param.Compare( _L( "samecontacts") ) == 0 )
- {
- // first contact
- userId.Copy(KUserId1);
- displayName.Copy( KDisplayName1 );
- contact1 = CVIMPSTStorageContact::NewL( userId, displayName );
- // second contact
- userId.Copy(KUserId1);
- displayName.Copy( KDisplayName1 );
- contact2 = CVIMPSTStorageContact::NewL( userId, displayName );
-
- compareResult = sorter->Compare( *contact1, *contact2 );
-
- if( compareResult == 0 )
- {
- result = KErrNone;
- }
-
- }
- if( contact1 )
- delete contact1;
- if( contact2 )
- delete contact2;
- if( sorter )
- delete sorter;
- return result;
-
- }
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-TInt CCVIMPSTStorageContactSorter_UT::SetSortAlgorithm( CStifItemParser& aItem )
- {
- TInt result = KErrGeneral;
-
- TInt input;
-
- aItem.GetNextInt( input );
-
- CVIMPSTStorageContactSorter* sorter = NULL;
-
- sorter = CVIMPSTStorageContactSorter::NewL();
-
- switch( input )
- {
- case 1:
- {
- sorter->SetSortAlgorithm( MVIMPSTStorageContact::ECompareByPresence );
- result = KErrNone;
- }
- break;
- case 2:
- {
- sorter->SetSortAlgorithm( MVIMPSTStorageContact::ECompareAlphabetically );
- result = KErrNone;
- }
- break;
- }
-
- delete sorter;
-
- return result;
-
- }
-
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-void CCVIMPSTStorageContactSorter_UT::CreateContactArray()
- {
-
- CVIMPSTStorageContact* contact = NULL;
-
- TBuf<64> userId;
- TBuf<64> displayName;
-
- // first contact
- userId.Copy(KUserId1);
- displayName.Copy( KDisplayName1 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EBusy );
- iContactArray.AppendL( contact );
-
- // second contact
- userId.Copy(KUserId2);
- displayName.Copy( KDisplayName2 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EOnline );
- iContactArray.AppendL( contact );
-
- // third contact
- userId.Copy(KUserId3);
- displayName.Copy( KDisplayName3 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EPending );
-
- iContactArray.AppendL( contact );
-
- // fourth contact
- userId.Copy(KUserId4);
- displayName.Copy( KDisplayName4 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EOnPhone );
- iContactArray.AppendL( contact );
-
- }
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-void CCVIMPSTStorageContactSorter_UT::CreateAlphabeticalSortArray()
- {
- // order of sort : contact2, contact4, contact3, contact1
- CVIMPSTStorageContact* contact = NULL;
-
- TBuf<64> userId;
- TBuf<64> displayName;
-
- // first contact
- userId.Copy(KUserId2);
- displayName.Copy( KDisplayName2 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EBusy );
- iAlphabeticalSortArray.AppendL( contact );
-
- // second contact
- userId.Copy( KUserId4 );
- displayName.Copy( KDisplayName4 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EOnline );
- iAlphabeticalSortArray.AppendL( contact );
-
- // third contact
- userId.Copy(KUserId3);
- displayName.Copy( KDisplayName3 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EPending );
- iAlphabeticalSortArray.AppendL( contact );
-
- // fourth contact
- userId.Copy(KUserId1);
- displayName.Copy( KDisplayName1 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EOnPhone );
- iAlphabeticalSortArray.AppendL( contact );
-
- }
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-void CCVIMPSTStorageContactSorter_UT::CreatePresenceSortArray()
- {
- // order of sort : contact2, contact1, contact4, contact 3
-
- CVIMPSTStorageContact* contact = NULL;
-
- TBuf<64> userId;
- TBuf<64> displayName;
-
- // first contact
- userId.Copy(KUserId2);
- displayName.Copy( KDisplayName2 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EBusy );
- iPresenceSortArray.AppendL( contact );
-
- // second contact
- userId.Copy( KUserId1 );
- displayName.Copy( KDisplayName1 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EOnline );
- iPresenceSortArray.AppendL( contact );
-
- // third contact
- userId.Copy( KUserId4 );
- displayName.Copy( KDisplayName4 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EPending );
- iPresenceSortArray.AppendL( contact );
-
- // fourth contact
- userId.Copy( KUserId3 );
- displayName.Copy( KDisplayName3 );
- contact = CVIMPSTStorageContact::NewL( userId, displayName );
- contact->SetOnlineStatus( TVIMPSTEnums::EOnPhone );
- iPresenceSortArray.AppendL( contact );
-
-
- }
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-TInt CCVIMPSTStorageContactSorter_UT::CompareArray(RPointerArray< MVIMPSTStorageContact > & aFirstArray, RPointerArray< MVIMPSTStorageContact >& aSecondArray )
- {
- // Number of contacts to be compared
- TInt count = 4;
- TInt result = -1;
-
-
- TBuf<64> userId1,userId2;
-
-
- // loop index
- TInt i = -1;
- for( i=0; i<count; i++ )
- {
- userId1.Copy( aFirstArray[i]->UserId() );
- userId2.Copy( aSecondArray[i]->UserId() );
-
- if( userId1.Compare( userId2 ) != 0 )
- {
- result = i;
- break;
- }
- }
-
- return result;
-
- }
-
-// -- -- -- -- -------------------------------------------------
-// @ see CVIMPSTStorageSorter_UT.h for description.
-// -- -- -- -- -------------------------------------------------
-//
-void CCVIMPSTStorageContactSorter_UT::ResetArray( RPointerArray< MVIMPSTStorageContact > & aArray )
- {
- aArray.ResetAndDestroy();
- }
-
-//----------------------------
-// To fix build break, please refer task no. in synergy.
-//----------------------------
-//
-void Panic( TVIMPSTStoragePanics aPanic )
- {
- User::Panic( KPanicCategory, aPanic );
- }
-// [End of File] - Do not remove