phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/src/MT_VPbkEng_StrCntAnalyzerCases.cpp
changeset 0 e686773b3f54
child 68 9da50d567e3c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookengines/VirtualPhonebook/tsrc/MT_VPbkEng_StrCntAnalyzer/src/MT_VPbkEng_StrCntAnalyzerCases.cpp	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,187 @@
+/*
+* Copyright (c) 2002 - 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:  ?Description
+*
+*/
+
+
+
+// [INCLUDE FILES] - do not remove
+#include "MT_VPbkEng_StrCntAnalyzer.h"
+#include "stifunitmacros.h"
+#include <CVPbkContactManager.h>
+#include <CVPbkContactStoreUriArray.h>
+#include <tvpbkcontactstoreuriptr.h>
+#include <MVPbkContactStore.h>
+#include <MVPbkContactStoreList.h>
+#include <MVPbkStoreContact.h>
+#include <MVPbkFieldType.h>
+//#include <StrCntAnalyzer.rsg>
+#include <vpbkeng.rsg>
+#include <CVPbkContactStoreProperties.h>
+
+#include "TTestContactField.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+_LIT( KDbUri, "cntdb://c:contacts.cdb" );
+
+
+void CMT_VPbkEng_StrCntAnalyzer::Setup()
+    {
+    STIF_LOG("Setup");
+    
+    // install active scheduler ( important :) )
+    if ( !CActiveScheduler::Current() )
+         {
+         CActiveScheduler* scheduler=new(ELeave) CActiveScheduler;
+         CActiveScheduler::Install(scheduler);
+         }
+    
+    // create contact store manager
+    CVPbkContactStoreUriArray* uriList = CVPbkContactStoreUriArray::NewLC(); 
+    uriList->AppendL( TVPbkContactStoreUriPtr( KDbUri ) );
+    iContactManager = CVPbkContactManager::NewL( *uriList );
+    CleanupStack::PopAndDestroy();  //uriList
+    
+    // create empty contact
+    MVPbkContactStoreList& cntStoreList = iContactManager->ContactStoresL();
+    MVPbkContactStore& cntStore = cntStoreList.At(0);
+    iContact = cntStore.CreateNewContactLC();
+    
+    // Setup store properties
+    MVPbkContactStoreProperties* store = const_cast<MVPbkContactStoreProperties*>(
+            &(iContact->ParentStore().StoreProperties()));
+    CVPbkContactStoreProperties* storeProperties = static_cast<CVPbkContactStoreProperties*>( store );
+    storeProperties->SetSupportedFields(iContactManager->FieldTypes());
+            
+    CleanupStack::Pop(); //iContact
+
+    }
+    
+void CMT_VPbkEng_StrCntAnalyzer::Teardown()
+    {
+    // todo: delete crashs
+    // delete iContact;
+    
+    delete iContactManager;
+    
+    CActiveScheduler* scheduler = CActiveScheduler::Current();
+    CActiveScheduler::Install(NULL);
+    delete scheduler;
+    
+    STIF_LOG("Teardown");
+    }
+
+//TESTCASE("HasFieldL", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestHasField, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestHasField()
+    {      
+    // empty contact -> KErrNotFound is expected
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    STIF_ASSERT_EQUALS( KErrNotFound, analyzer.HasFieldL( VPbkFieldTypeSelectorFactory::EPhoneNumberSelector, 3, iContact ) ); 
+    }
+
+//TESTCASE("HasFieldL CommAction", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestHasFieldCA, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestHasFieldCA()
+    {      
+    // empty contact -> KErrNotFound is expected
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    STIF_ASSERT_EQUALS( KErrNotFound, analyzer.HasFieldL( VPbkFieldTypeSelectorFactory::EVoiceCallSelector, NULL ) ); 
+    }
+
+//TESTCASE("IsFieldTypeSupportedL", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeSupported, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeSupported()
+    { 
+    // ETrue is expected
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    STIF_ASSERT_TRUE( analyzer.IsFieldTypeSupportedL( VPbkFieldTypeSelectorFactory::EPhoneNumberSelector ) ); 
+    }
+
+//TESTCASE("IsFieldTypeSupportedL CommAction", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeSupportedCA, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeSupportedCA()
+    { 
+    // ETrue is expected
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    STIF_ASSERT_TRUE( analyzer.IsFieldTypeSupportedL( VPbkFieldTypeSelectorFactory::EVoiceCallSelector ) ); 
+    }
+
+//TESTCASE("IsFieldTypeIncludedL true", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeIncludedTL, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedTL()
+    {  
+    // ETrue expected -> R_VPBK_FIELD_TYPE_LASTNAME == ELastNameSelector
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    const MVPbkFieldType* ftype = iContactManager->FieldTypes().Find( R_VPBK_FIELD_TYPE_LASTNAME );
+    STIF_ASSERT_TRUE(analyzer.IsFieldTypeIncludedL( *ftype ,VPbkFieldTypeSelectorFactory::ELastNameSelector ) ); 
+    }
+
+//TESTCASE("IsFieldTypeIncludedL false", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeIncludedFL, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFL()
+    {  
+    // EFalse expected -> R_VPBK_FIELD_TYPE_LASTNAME != EPhoneNumberSelector
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    const MVPbkFieldType* ftype = iContactManager->FieldTypes().Find( R_VPBK_FIELD_TYPE_LASTNAME );
+    STIF_ASSERT_FALSE(analyzer.IsFieldTypeIncludedL( *ftype ,VPbkFieldTypeSelectorFactory::EPhoneNumberSelector ) ); 
+    }
+
+//TESTCASE("IsFieldTypeIncludedL false", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeIncludedFLCA, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFLCA()
+    {  
+    // EFalse expected -> R_VPBK_FIELD_TYPE_LASTNAME != EPhoneNumberSelector
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    const MVPbkFieldType* ftype = iContactManager->FieldTypes().Find( R_VPBK_FIELD_TYPE_LASTNAME );
+    STIF_ASSERT_FALSE(analyzer.IsFieldTypeIncludedL( *ftype ,VPbkFieldTypeSelectorFactory::EVoiceCallSelector ) ); 
+    }
+
+//TESTCASE("IsFieldTypeIncludedL2 true", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeIncludedTL2, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedTL2()
+    {   
+    // ETrue expected -> R_VPBK_FIELD_TYPE_LASTNAME == ELastNameSelector
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    const MVPbkFieldType* ftype = iContactManager->FieldTypes().Find( R_VPBK_FIELD_TYPE_LASTNAME ); 
+    TTestContactField baseCntField;
+    baseCntField.SetFieldType(*ftype);
+    STIF_ASSERT_TRUE(analyzer.IsFieldTypeIncludedL( baseCntField ,VPbkFieldTypeSelectorFactory::ELastNameSelector ) ); 
+    }
+
+//TESTCASE("IsFieldTypeIncludedL2 flase", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeIncludedFL2, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFL2()
+    {   
+    // EFalse expected -> R_VPBK_FIELD_TYPE_LASTNAME != EPhoneNumberSelector
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    const MVPbkFieldType* ftype = iContactManager->FieldTypes().Find( R_VPBK_FIELD_TYPE_LASTNAME ); 
+    TTestContactField baseCntField;
+    baseCntField.SetFieldType(*ftype);
+    STIF_ASSERT_FALSE(analyzer.IsFieldTypeIncludedL( baseCntField ,VPbkFieldTypeSelectorFactory::EPhoneNumberSelector ) ); 
+    }
+
+//TESTCASE("IsFieldTypeIncludedL2 flase", "CMT_VPbkEng_StrCntAnalyzer", Setup, TestIsFieldTypeIncludedFL2CA, Teardown)
+void CMT_VPbkEng_StrCntAnalyzer::TestIsFieldTypeIncludedFL2CA()
+    {   
+    // EFalse expected -> R_VPBK_FIELD_TYPE_LASTNAME != EPhoneNumberSelector
+    
+    TVPbkStoreContactAnalyzer analyzer( *iContactManager, iContact );
+    const MVPbkFieldType* ftype = iContactManager->FieldTypes().Find( R_VPBK_FIELD_TYPE_LASTNAME ); 
+    TTestContactField baseCntField;
+    baseCntField.SetFieldType(*ftype);
+    STIF_ASSERT_FALSE(analyzer.IsFieldTypeIncludedL( baseCntField ,VPbkFieldTypeSelectorFactory::EVoiceCallSelector ) ); 
+    }
+
+//  [End of File] - do not remove