diff -r 000000000000 -r 8c5d936e5675 profilesservices/ProfileEngine/tsrc/public/basic/WrapperMdlTest/src/MT_MProEngProfileNameArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/profilesservices/ProfileEngine/tsrc/public/basic/WrapperMdlTest/src/MT_MProEngProfileNameArray.cpp Thu Dec 17 08:52:52 2009 +0200 @@ -0,0 +1,239 @@ +/* +* Copyright (c) 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: Implementation of the MT_MProEngProfileNameArray test class. +* +*/ + +//////////////////////////////////////////////////////////////////////// +// MT_MProEngProfileNameArray.cpp +// + +// CLASS HEADER +#include "MT_MProEngProfileNameArray.h" + +// EXTERNAL INCLUDES +#include +#include +#include +#include +#include "MProfileEngineExtended.h" +#include "MProfile.h" +#include "MProfileName.h" +#include "MProfilesNamesArray.h" +#include "MProfileExtended.h" +#include +#include + +// INTERNAL INCLUDES +#include "T_ProfileTestTools.h" + +MT_MProEngProfileNameArray* MT_MProEngProfileNameArray::NewL() + { + MT_MProEngProfileNameArray* self = MT_MProEngProfileNameArray::NewLC(); + CleanupStack::Pop(); + + return self; + } + +MT_MProEngProfileNameArray* MT_MProEngProfileNameArray::NewLC() + { + MT_MProEngProfileNameArray* self = new( ELeave ) MT_MProEngProfileNameArray(); + CleanupStack::PushL( self ); + + self->ConstructL(); + + return self; + } + + +MT_MProEngProfileNameArray::~MT_MProEngProfileNameArray() + { + if( iInternalEngine ) + { + iInternalEngine->Release(); + iInternalEngine = NULL; + } + if( iEngine ) + { + iEngine->Release(); + iEngine = NULL; + } + } + + +MT_MProEngProfileNameArray::MT_MProEngProfileNameArray() + { + } + +void MT_MProEngProfileNameArray::ConstructL() + { + // The ConstructL from the base class CEUnitTestSuiteClass must be called. + // It generates the test case table. + CEUnitTestSuiteClass::ConstructL(); + iInternalEngine = CreateProfileEngineExtendedL(); + iEngine = ProEngFactory::NewEngineL(); + } + + +void MT_MProEngProfileNameArray::SetupL() + { + iArray = iEngine->ProfileNameArrayLC(); + CleanupStack::Pop(); // iArray + iInternalArray = iInternalEngine->ProfilesNamesArrayLC(); + CleanupStack::Pop(); // iInternalArray + } + +void MT_MProEngProfileNameArray::SetupDynamicProfilesL() + { + MProfileExtended* internalProfile( iInternalEngine->CreateProfileL() ); + if( internalProfile ) + { + iProfileId = ( internalProfile->ProfileName().Id() ); + internalProfile->Release(); + } + SetupL(); + } + +void MT_MProEngProfileNameArray::Teardown() + { + delete iArray; + delete iInternalArray; + } + +void MT_MProEngProfileNameArray::TeardownDynamicProfiles() + { + Teardown(); + TRAP_IGNORE( iInternalEngine->DeleteProfileL( iProfileId ) ); + } + + +void MT_MProEngProfileNameArray::ProfileIdTestL() + { + TInt count( iArray->MdcaCount() ); + TInt internalCount( iInternalArray->MdcaCount() ); + EUNIT_ASSERT( count == internalCount ); + for( TInt i( 0 ); iProfileId(i) ); + TInt id2( iInternalArray->ProfileName(i)->Id() ); + EUNIT_ASSERT( id1 == id2 ); + } + } + + +void MT_MProEngProfileNameArray::FindByIdTestL() + { + TInt lastId( EProfilePagerId + 1 ); +#ifdef __OFFLINE_MODE + lastId = EProfileOffLineId + 1; +#endif // __OFFLINE_MODE +#ifdef __DRIVE_MODE + lastId = EProfileDriveId + 1; +#endif // __DRIVE_MODE + // i<=lastId: tests also the first id which isn't found + for( TInt i( 0 ); i<=lastId; ++i ) + { + EUNIT_ASSERT( iArray->FindById(i) == iInternalArray->FindById(i) ); + } + } + + +void MT_MProEngProfileNameArray::FindByNameTestL() + { + EUNIT_ASSERT( iArray->FindByName(KProfileGeneralName) == + iInternalArray->FindByName(KProfileGeneralName) ); + EUNIT_ASSERT( iArray->FindByName(KProfileSilentName) == + iInternalArray->FindByName(KProfileSilentName) ); + EUNIT_ASSERT( iArray->FindByName(KProfileMeetingName) == + iInternalArray->FindByName(KProfileMeetingName) ); + EUNIT_ASSERT( iArray->FindByName(KProfileOutdoorName) == + iInternalArray->FindByName(KProfileOutdoorName) ); + EUNIT_ASSERT( iArray->FindByName(KProfilePagerName) == + iInternalArray->FindByName(KProfilePagerName) ); +#ifdef __OFFLINE_MODE + EUNIT_ASSERT( iArray->FindByName(KProfileOfflineName) == + iInternalArray->FindByName(KProfileOfflineName) ); +#endif +#ifdef __DRIVE_MODE + EUNIT_ASSERT( iArray->FindByName(KProfileDriveName) == + iInternalArray->FindByName(KProfileDriveName) ); +#endif + EUNIT_ASSERT( iArray->FindByName(KProfileInvalidName) == + iInternalArray->FindByName(KProfileInvalidName) ); + } + +void MT_MProEngProfileNameArray::FindByIdDynamicProfileTestL() + { + EUNIT_ASSERT( iArray->FindById( iProfileId ) == + iInternalArray->FindById( iProfileId ) ); + } + +void MT_MProEngProfileNameArray::FindByNameDynamicProfileTestL() + { + EUNIT_ASSERT( iArray->FindByName(KProfileDynamicName) == + iInternalArray->FindByName(KProfileDynamicName) ); + } + +EUNIT_BEGIN_TEST_TABLE( + MT_MProEngProfileNameArray, + "Profile Name Array Wrapper Test cases.", + "MODULE" ) + +EUNIT_TEST( + "Get Profile Id by index test", + "MProEngProfileNameArray", + "ProfileId", + "FUNCTIONALITY", + SetupL, + ProfileIdTestL, + Teardown) + +EUNIT_TEST( + "Find index by Profile ID test", + "MProEngProfileNameArray", + "FindById", + "FUNCTIONALITY", + SetupL, + FindByIdTestL, + Teardown) + +EUNIT_TEST( + "Find index by Profile name test", + "MProEngProfileNameArray", + "FindByName", + "FUNCTIONALITY", + SetupL, + FindByNameTestL, + Teardown) + +EUNIT_TEST( + "Find index by Dynamic Profile ID test", + "MProEngProfileNameArray", + "FindById", + "FUNCTIONALITY", + SetupDynamicProfilesL, + FindByIdDynamicProfileTestL, + TeardownDynamicProfiles) + +EUNIT_TEST( + "Find index by Dynamic Profile name test", + "MProEngProfileNameArray", + "FindByName", + "FUNCTIONALITY", + SetupDynamicProfilesL, + FindByNameDynamicProfileTestL, + TeardownDynamicProfiles) + +EUNIT_END_TEST_TABLE +