void CFindTest::DoTestsL() { iTest.Title(); iTest.Start(_L("@SYMTestCaseID:PIM-T-CNTFINDALL-INC049017-0001 CREATING THE DATABASE")); iDb=CContactDatabase::ReplaceL(iDbFileName); iTemplate=STATIC_CAST(CContactTemplate*,iDb->ReadContactL(iDb->TemplateId())); iTest.Next(_L("ADDING COMPACT CONTACTS")); { iLog->LogLine(_L("Adding The Contacts.")); // AddContactCompactL(aFirstName,aLastName,aCompanyName,aWorkPhone, // aHomePhone,& aWorkMobile,aHomeMobile,aWorkEmail) AddContactCompactL(_L("Robert"),_L("Jordan"),_L("Software Solutions"),_L("015672354658"), _L("01617246900"), _L("077962345100"),_L("07785674300"),_L("rj2@software_solutions.com")); AddContactCompactL(_L("Amanda"),_L("Jordan"),_L("Software Solutions"),_L("015672354658"), _L("01617246900"), _L("077962345101"),_L("07785674301"),_L("aj1@software_solutions.com")); AddContactCompactL(_L("Ben"),_L("Turner"),_L("High Res Solutions"),_L("017652354658"), _L("01717246901"), _L("07896543210"),_L("07987654321"),_L("*****@*****.**")); AddContactCompactL(_L("Chris"),_L("Andrews"),_L("Soft Kicks"),_L("1234567890"), _L("01712345678"), _L("07234567890"),_L("07234567891"),_L("*****@*****.**")); } //start of tests for defect where identity fields were not searched when using KUidMatchInAllFields iTest.Next(_L("FINDING CONTACTS BY NAME FROM GIVEN NAME FIELD.")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY NAME FROM GIVEN NAME FIELD.")); FindNameInFirstNameFieldL(_L("Chris"),1); FindNameInFirstNameFieldL(_L("Turner"),0); FindNameInFirstNameFieldL(_L("e"),2); } iTest.Next(_L("FINDING CONTACTS BY NAME FROM FAMILY NAME FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY NAME FROM FAMILY NAME FIELD.")); FindNameInLastNameFieldL(_L("Turner"),1); FindNameInLastNameFieldL(_L("Jordan"),2); FindNameInLastNameFieldL(_L("r"),4); FindNameInLastNameFieldL(_L("Chris"),0); } iTest.Next(_L("FINDING CONTACTS BY NAME FROM ALL FIELDS")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY NAME FROM ALL FIELDS")); FindInAllFieldsL(_L("Ben"),1); FindInAllFieldsL(_L("Jordan"),2); FindInAllFieldsL(_L("r"),4); FindInAllFieldsL(_L("xxxxxxxxx"),0); } iTest.Next(_L("FINDING CONTACTS BY COMPANY FROM COMPANY NAME FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS COMPANY FROM COMPANY NAME FIELD")); FindInCompanyFieldL(_L("Ben"),0); FindInCompanyFieldL(_L("High Res Solutions"),1); FindInCompanyFieldL(_L("Software Solutions"),2); FindInCompanyFieldL(_L("s"),4); } iTest.Next(_L("FINDING CONTACTS BY COMPANY FROM ALL FIELDS")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY COMPANY FROM ALL FIELDS")); FindInAllFieldsL(_L("Kick"),1); FindInAllFieldsL(_L("High Res Solutions"),1); FindInAllFieldsL(_L("Software Solutions"),2); FindInAllFieldsL(_L("s"),4); } //end of tests for defect where identity fields were not searched when using KUidMatchInAllFields //start of Async tests for defect where identity fields were not searched when using KUidMatchInAllFields iTest.Next(_L("FINDING CONTACTS BY NAME FROM GIVEN NAME FIELD ASYNCHRONOUSLY")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY NAME FROM GIVEN NAME FIELD ASYNCHRONOUSLY.")); FindNameInFirstNameFieldL(_L("Chris"),1,ETrue); FindNameInFirstNameFieldL(_L("Turner"),0,ETrue); FindNameInFirstNameFieldL(_L("e"),2,ETrue); } iTest.Next(_L("FINDING CONTACTS BY NAME FROM FAMILY NAME FIELD ASYNCHRONOUSLY")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY NAME FROM FAMILY NAME FIELD ASYNCHRONOUSLY.")); FindNameInLastNameFieldL(_L("Turner"),1,ETrue); FindNameInLastNameFieldL(_L("Jordan"),2,ETrue); FindNameInLastNameFieldL(_L("r"),4,ETrue); FindNameInLastNameFieldL(_L("Chris"),0,ETrue); } iTest.Next(_L("FINDING CONTACTS BY NAME FROM ALL FIELDS ASYNCHRONOUSLY")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY NAME FROM ALL FIELDS ASYNCHRONOUSLY")); FindInAllFieldsL(_L("Ben"),1,ETrue); FindInAllFieldsL(_L("Jordan"),2,ETrue); FindInAllFieldsL(_L("r"),4,ETrue); FindInAllFieldsL(_L("xxxxxxxxx"),0,ETrue); } iTest.Next(_L("FINDING CONTACTS BY COMPANY FROM COMPANY NAME FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS COMPANY FROM COMPANY NAME FIELD ASYNCHRONOUSLY")); FindInCompanyFieldL(_L("Ben"),0,ETrue); FindInCompanyFieldL(_L("High Res Solutions"),1,ETrue); FindInCompanyFieldL(_L("Software Solutions"),2,ETrue); FindInCompanyFieldL(_L("s"),4,ETrue); } iTest.Next(_L("FINDING CONTACTS BY COMPANY FROM ALL FIELDS ASYNCHRONOUSLY")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY COMPANY FROM ALL FIELDS ASYNCHRONOUSLY")); FindInAllFieldsL(_L("Kick"),1,ETrue); FindInAllFieldsL(_L("High Res Solutions"),1,ETrue); FindInAllFieldsL(_L("Software Solutions"),2,ETrue); FindInAllFieldsL(_L("s"),4,ETrue); } //end of Async tests for defect where identity fields were not searched when using KUidMatchInAllFields //the following tests were not part of the defect but included as regression testing iTest.Next(_L("FINDING CONTACTS BY WORK PHONE NUMBER FROM PHONE FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY WORK PHONE NUMBER FROM PHONE FIELD")); FindPhoneNumberL(_L("015672354658"),2); FindPhoneNumberL(_L("017652354658"),1); FindPhoneNumberL(_L("999999999999"),0); } iTest.Next(_L("FINDING CONTACTS BY HOME PHONE NUMBER FROM PHONE FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY HOME PHONE NUMBER FROM PHONE FIELD")); FindPhoneNumberL(_L("01617246900"),2); FindPhoneNumberL(_L("01712345678"),1); FindPhoneNumberL(_L("999999999999"),0); } iTest.Next(_L("FINDING CONTACTS BY WORK MOBILE NUMBER FROM PHONE FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY WORK MOBILE NUMBER FROM PHONE FIELD")); FindPhoneNumberL(_L("077962345100"),1); FindPhoneNumberL(_L("077962345101"),1); FindPhoneNumberL(_L("07896543210"),1); FindPhoneNumberL(_L("999999999999"),0); } iTest.Next(_L("FINDING CONTACTS BY HOME MOBILE NUMBER FROM PHONE FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY HOME MOBILE NUMBER FROM PHONE FIELD")); FindPhoneNumberL(_L("07234567891"),1); FindPhoneNumberL(_L("07785674301"),1); FindPhoneNumberL(_L("07785674300"),1); FindPhoneNumberL(_L("999999999999"),0); } iTest.Next(_L("FINDING CONTACTS BY PHONE NUMBER FROM ALL FIELDS")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY PHONE NUMBER FROM ALL FIELDS")); FindInAllFieldsL(_L("015672354658"),2); FindInAllFieldsL(_L("01617246900"),2); FindInAllFieldsL(_L("017652354658"),1); FindInAllFieldsL(_L("01712345678"),1); FindInAllFieldsL(_L("999999999999"),0); } iTest.Next(_L("FINDING CONTACTS BY EMAIL FROM EMAIL FIELD")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY EMAIL FROM EMAIL FIELD")); FindEmailAddressL(_L("@@"),0); FindEmailAddressL(_L("aj1@software_solutions.com"),1); FindEmailAddressL(_L("software_solutions.com"),2); FindEmailAddressL(_L("soft"),3); FindEmailAddressL(_L("@"),4); } iTest.Next(_L("FINDING CONTACTS BY EMAIL FROM ALL FIELDS")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY EMAIL FROM ALL FIELDS")); FindInAllFieldsL(_L("@@"),0); FindInAllFieldsL(_L("aj1@software_solutions.com"),1); FindInAllFieldsL(_L("software_solutions.com"),2); FindInAllFieldsL(_L("soft"),3); FindInAllFieldsL(_L("@"),4); } iTest.Next(_L("FINDING CONTACTS BY NOTES FROM NOTES FIELDS")); { iLog->LogLine(_L("\r\nFINDING CONTACTS BY NOTES FROM NOTES FIELDS")); FindNotesL(_L("dummy"),4); FindNotesL(_L("dummy"),4, ETrue); FindNotesL(_L("nonexistant"),0); FindNotesL(_L("nonexistant"),0, ETrue); } iTest.Next(_L("FINDING NOTES FROM ALL FIELDS")); { iLog->LogLine(_L("\r\nFINDING NOTES FROM ALL FIELDS")); FindInAllFieldsL(_L("dummy"),4); FindInAllFieldsL(_L("dummy"),4, ETrue); FindInAllFieldsL(_L("nonexistant"),0); FindInAllFieldsL(_L("nonexistant"),0, ETrue); } iTest.End(); }
TInt CBenchMarker::DoTestL(TTest aTest) { TInt timeMinorNumber=0; iLog->Log(_L("Test #%d "),aTest); TPtrC match; switch (aTest) { case EOpenNewDb: iLog->LogLine(_L("Open new database")); if (iNoDataGenerationTests) { iDb=CContactDatabase::OpenL(iDbFileName); } else { iDb=CContactDatabase::ReplaceL(iDbFileName); LogResult(aTest,0,KFileSizeText,DbFileSize()); timeMinorNumber=1; } iGenerator->SetDbL(*iDb); break; case ECreateSecondaryClients: iLog->LogLine(_L("Create %d secondary client threads"),KNumSecondaryClients); CreateSecondaryClients(); break; case EAddContacts: iLog->LogLine(_L("Add %d typical and %d atypical contacts"),iNumTypicalContacts,iNumAtypicalContacts); if (!iNoDataGenerationTests) { LogResult(aTest,0,KAverageTimeText,AddContactsL()); LogResult(aTest,1,KFileSizeText,DbFileSize()); timeMinorNumber=2; } break; case ECompactDb: iLog->LogLine(_L("Compact database")); if (!iNoDataGenerationTests) { iDb->CompactL(); LogResult(aTest,0,KFileSizeText,DbFileSize()); timeMinorNumber=1; } break; case EAddAndCompact: iLog->LogLine(_L("Add %d typical and %d atypical contacts (compact after each)"),iNumTypicalContactsCompact,iNumAtypicalContactsCompact); if (!iNoDataGenerationTests) { LogResult(aTest,0,KAverageTimeText,AddContactsCompactL()); LogResult(aTest,1,KFileSizeText,DbFileSize()); timeMinorNumber=2; } break; case EGetSortedItems: iLog->LogLine(_L("Get sorted id array by firstname, lastname, company name")); DoSortL(); break; case ELogContactSummary: iLog->LogLine(_L("Log contact summary")); LogContactSummaryL(EFalse); break; case ELogContactSummaryFast: iLog->LogLine(_L("Log contact summary using TContactTextDefItem")); LogContactSummaryL(ETrue); break; case EOpenRContactView: iLog->LogLine(_L("Open RContactView")); OpenRContactViewL(); break; case ESetSortOrderOfRContactView: iLog->LogLine(_L("Set order of RContactView")); SetSortOrderOfRContactViewL(); break; case EGetSortOrderOfRContactView: iLog->LogLine(_L("Get order of RContactView")); GetSortOrderOfRContactViewL(); break; case ELogContactSummaryWithRContactView: iLog->LogLine(_L("Log contact summary using RContactView")); LogContactSummaryFromRContactViewL(EFalse); break; case ELogContactSummaryFastWithRContactView: iLog->LogLine(_L("Log contact summary using RContactView and TContactTextDefItem")); LogContactSummaryFromRContactViewL(ETrue); break; case EFindWithRContactView: iLog->LogLine(_L("Find TContactItemId from RContactView")); FindInRContactViewL(); break; case ECloseRContactView: iLog->LogLine(_L("Close RContactView")); #ifdef __USE_NEW_INTERFACES iSortedIdList.Close(); #endif break; case EFindFromLargeFieldSetSuceed: match.Set(iGenerator->NameMatch()); iLog->LogLine(_L("FindLC %S using large field set (will suceed)"),&match); FindFromLargeFieldSetL(match); break; case EFindFromLargeFieldSetFail: iLog->LogLine(_L("FindLC %S using large field set (will fail)"),&KNameMatchFail); FindFromLargeFieldSetL(KNameMatchFail); break; case EFindFromSmallFieldSetSuceed: match.Set(iGenerator->NameMatch()); iLog->LogLine(_L("FindLC %S using small field set (will suceed)"),&match); FindFromSmallFieldSetL(match); break; case EFindFromSmallFieldSetFail: iLog->LogLine(_L("FindLC %S using small field set (will fail)"),&KNameMatchFail); FindFromSmallFieldSetL(KNameMatchFail); break; case EFindPhoneNumberSuceed: match.Set(iGenerator->PhoneMatch()); iLog->LogLine(_L("FindLC %S using just phone field (will suceed)"),&match); FindPhoneNumberL(match); break; case EFindPhoneNumberFail: iLog->LogLine(_L("FindLC %S using just phone field (will fail)"),&KPhoneMatchFail); FindPhoneNumberL(KPhoneMatchFail); break; case EFindEmailAddressSuceed: match.Set(iGenerator->EmailMatch()); iLog->LogLine(_L("FindLC %S using just email field (will suceed)"),&match); FindEmailAddressL(match); break; case EFindEmailAddressFail: iLog->LogLine(_L("FindLC %S using just email field (will fail)"),&KNameMatchFail); FindEmailAddressL(KNameMatchFail); break; case EFindAsyncFromLargeFieldSet: iLog->LogLine(_L("FindAsyncL %S using large field set"),&KAsyncFindMatch); FindAsyncFromLargeFieldSetL(KAsyncFindMatch); break; case EFindAsyncFromSmallFieldSet: iLog->LogLine(_L("FindAsyncL %S using small field set"),&KAsyncFindMatch); FindAsyncFromSmallFieldSetL(KAsyncFindMatch); break; case ECloseDb: iLog->LogLine(_L("Close database")); delete iDb; iDb=NULL; break; case ECloseSecondaryClients: iLog->LogLine(_L("Close secondary clients")); CloseSecondaryClients(); break; case EOpenExistingDb: iLog->LogLine(_L("Open existing database")); iDb=CContactDatabase::OpenL(iDbFileName); break; case EMultiClientSort: iLog->LogLine(_L("%d client simultaneous sort"),KNumSortClients); CreateSortClients(); break; case ENumTests: ASSERT(EFalse); break; } return timeMinorNumber; }