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 <EUnitMacros.h>
+#include <MProEngProfileNameArray.h>
+#include <MProEngProfile.h>
+#include <MProEngEngine.h>
+#include "MProfileEngineExtended.h"
+#include "MProfile.h"
+#include "MProfileName.h"
+#include "MProfilesNamesArray.h"
+#include "MProfileExtended.h"
+#include <ProEngFactory.h>
+#include <Profile.hrh>
+
+// 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 ); i<internalCount; ++i )
+ {
+ TInt id1( iArray->ProfileId(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
+