--- a/logsui/logscntfinder/tsrc/st_logscntfinder/src/st_logscntfinder.cpp Thu May 27 12:51:53 2010 +0300
+++ b/logsui/logscntfinder/tsrc/st_logscntfinder/src/st_logscntfinder.cpp Fri Jun 11 13:38:41 2010 +0300
@@ -22,18 +22,33 @@
#include <QtTest/QtTest>
#include <hbinputsettingproxy.h>
-void st_LogsCntFinder::initTestCase()
+
+#define CHECK_RESULTS( count, first, last )\
+ for(int i=0;i<count; i++ ) {\
+ if ( i == 0 ) {\
+ QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString(first));\
+ QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString(last));\
+ } else {\
+ m_finder->resultAt(i);\
+ }\
+ }
+
+
+void ST_LogsCntFinder::initTestCase()
{
}
-void st_LogsCntFinder::cleanupTestCase()
+void ST_LogsCntFinder::cleanupTestCase()
{
}
-void st_LogsCntFinder::init()
+void ST_LogsCntFinder::init()
{
+ HbInputLanguage eng( QLocale::English );
+ HbInputSettingProxy::instance()->setGlobalInputLanguage( eng );
+
m_finder = 0;
//open symbian database
m_manager = new QContactManager("symbian");
@@ -43,8 +58,8 @@
// Remove all contacts from the database
QList<QContactLocalId> cnt_ids = m_manager->contactIds();
qDebug() << "contacts now before deleting" << cnt_ids.count();
-
- QVERIFY(m_manager->removeContacts(&cnt_ids, 0));
+
+ QVERIFY( m_manager->removeContacts(cnt_ids, 0 ) );
cnt_ids = m_manager->contactIds();
QCOMPARE(cnt_ids.count(), 0);
@@ -54,7 +69,7 @@
}
}
-void st_LogsCntFinder::cleanup()
+void ST_LogsCntFinder::cleanup()
{
delete m_manager;
m_manager = 0;
@@ -65,7 +80,7 @@
}
-void st_LogsCntFinder::createContacts()
+void ST_LogsCntFinder::createContacts()
{
/*Create contacts in Contacts DB for keymap testing
Stefann Yadira
@@ -99,41 +114,33 @@
int contactsCount = m_manager->contactIds().count();
QCOMPARE(contactsCount, 13);
- qDebug() << "st_LogsCntFinder::createContacts_testKeymap. created " << contactsCount << " contacts";
}
-void st_LogsCntFinder::createThaiContacts()
+/*
+Dlice 00202 Qwerty 45789348
+#Paula 2003 Augustin Ci 0078945617
+Paula 02010 Ezerty Adam 78945617
+Ced Y,g +78945617
+Jari-Pekka Baraniktestteste 78945617
+*/
+void ST_LogsCntFinder::createContactsForQueryZero()
{
- /*Create contacts in Contacts DB
+ createContacts();
+ createOneContact( QString("Dlice 00202"), QString("Qwerty"), QString("45789348") );
+ createOneContact( QString("#Paula 2003"), QString("Augustin Ci"), QString("0078945617") );
+ createOneContact( QString("Paula 02010"), QString("Ezerty Adam"), QString("78945617") );
+ createOneContact( QString("Ced"), QString("Y,g"), QString("+78945617") );
+ createOneContact( QString("Jari-Pekka"), QString(" "), QString("78945617") );
- */
-
- const QChar thaiFName1[] = {0x0E06,0x0E0A}; // map:23
- const QChar thaiLName1[] = {0x0E0E,0x0E14,0x0E19,0x0E1E,0x0E23,0x0E2A };//map 456789
-
- QString first ( thaiFName1, 2 );
- QString last ( thaiFName1, 6 );
- createOneContact( first, last, QString("932472398") );
-
- const QChar thaiFName2[] = {0x0E30,0x0E0A};//#3,
- const QChar thaiLName2[] = {0x0E2F,0x0E14,0x0E19,0x0E1E,0x0E23,0x0E2A };//*56789
-
- QString first2 ( thaiFName1, 2 );
- QString last2 ( thaiFName1, 6 );
- createOneContact( first2, last2, QString("932472398") );
-
-
-
int contactsCount = m_manager->contactIds().count();
- QCOMPARE(contactsCount, 2);
- qDebug() << "st_LogsCntFinder::createThaiContacts_ThaiSearch. created " << contactsCount << " contacts";
-
-
+ QCOMPARE(contactsCount, 18);
}
-void st_LogsCntFinder::createHistoryEvents()
+
+
+void ST_LogsCntFinder::createHistoryEvents()
{
createLogEvent( QString("Stefann Albert"), QString("Fedrernn"), QString("932472398") );
createLogEvent( QString("Jonn"), QString("Lennon"), QString("932472398") );
@@ -141,7 +148,7 @@
}
-void st_LogsCntFinder::createLogEvent(QString firstname, QString lastname,
+void ST_LogsCntFinder::createLogEvent(QString firstname, QString lastname,
QString phnumber)
{
LogsCntEntryHandle* dummy = 0;
@@ -156,8 +163,20 @@
}
+void ST_LogsCntFinder::createContactsForQueryOrder()
+{
+ createContacts();
+ createOneContact( QString("Anna"), QString("Qwerty"), QString("45789348") );
+ createOneContact( QString("Paula"), QString("Qwerty"), QString("78945617") );
+ createOneContact( QString("Paula"), QString("Azerty"), QString("78945617") );
-void st_LogsCntFinder::createOneContact(QString firstname, QString Lastname,
+ int contactsCount = m_manager->contactIds().count();
+ QCOMPARE(contactsCount, 16);
+}
+
+
+
+void ST_LogsCntFinder::createOneContact(QString firstname, QString Lastname,
QString phnumber)
{
//Currenlty we can only fetch firstname,lastname,companyname and sip/email/phone from the databse
@@ -177,7 +196,7 @@
phonecontact.saveDetail(&number);
m_manager->saveContact(&phonecontact);
- qDebug() << "st_LogsCntFinder::createOneContact done";
+ qDebug() << "ST_LogsCntFinder::createOneContact done";
}
@@ -186,138 +205,6 @@
// Tests
//
-void st_LogsCntFinder::testPredictiveThaiSearchQuery()
-{
- HbInputLanguage thai( QLocale::Thai );
- HbInputSettingProxy::instance()->setGlobalInputLanguage( thai );
-
- createThaiContacts();
-
- //There is no recent call in logs UI
- //case 1
- /*m_finder->predictiveSearchQuery( QString("2") );
- QCOMPARE( m_finder->resultsCount(), 1 );*/
- qDebug() << "-- 2 query starts --";
- m_finder->predictiveSearchQuery( QString("2") );
- qDebug() << "found " << m_finder->resultsCount() << " matches:";
-
- qDebug() << "-- 4 query starts --";
- m_finder->predictiveSearchQuery( QString("4") );
- qDebug() << "found " << m_finder->resultsCount() << " matches:";
- qDebug() << "-- 402 query starts --";
- m_finder->predictiveSearchQuery( QString("402") );
- qDebug() << "found " << m_finder->resultsCount() << " matches:";
- qDebug() << "-- *4 query starts --";
- m_finder->predictiveSearchQuery( QString("*4") );
- qDebug() << "found " << m_finder->resultsCount() << " matches:";
- qDebug() << "-- *402### query starts --";
- m_finder->predictiveSearchQuery( QString("*402###") );
- qDebug() << "found " << m_finder->resultsCount() << " matches:";
-
- /*m_finder->predictiveSearchQuery( QString("4") );
- QCOMPARE( m_finder->resultsCount(), 1 );
-
- m_finder->predictiveSearchQuery( QString("402") );
- QCOMPARE( m_finder->resultsCount(), 1 );
-
- m_finder->predictiveSearchQuery( QString("*4") );
- QCOMPARE( m_finder->resultsCount(), 1 );
-
- m_finder->predictiveSearchQuery( QString("*402###") );
- QCOMPARE( m_finder->resultsCount(), 1 );
-
- m_finder->predictiveSearchQuery( QString("*4***00002###") );
- QCOMPARE( m_finder->resultsCount(), 1 );
- */
-
-
-}
-
-
-// Test basic predictive search, all records with names starting letters "J, K, L" are matched
-void st_LogsCntFinder::testPredictiveSearchQuery()
-{
- createContacts();
-
- //There is no recent call in logs UI
- //case 1
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 5 );
- //see half of matched results
- //results == for(int i =0;i<f->resultCount() / 2;i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString("Maria-Zola"));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Jones"));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString("Jonn"));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString("Ennon"));*/
-
- m_finder->predictiveSearchQuery( QString("566") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 5 );
-
- //case 2
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 5 );
- //see all of the matched results
- //results == for(int i =0;i<f->resultCount();i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString("Maria-Zola"));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Jones"));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString("Jonn"));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString("Ennon"));
- QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString("Una Vivi"));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Kantsak"));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString("Wilda"));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString("Lazar"));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString("Levis"));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString("Augustin Zi"));
- */
-
- m_finder->predictiveSearchQuery( QString("566") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 5 );
-
- //case 3
- m_finder->predictiveSearchQuery( QString("6") );
- QCOMPARE( m_finder->resultsCount(), 3 );
- //see all of matched results
- //results == for(int i =0;i<f->resultCount();i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString("Maria-Zola"));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Jones"));
- QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString("Nancy"));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Csoma"));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString("Olga"));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString("Baraniktestteste"));*/
-
- m_finder->predictiveSearchQuery( QString("69") );
- QCOMPARE( m_finder->resultsCount(), 0 );
- m_finder->predictiveSearchQuery( QString("692") );
- QCOMPARE( m_finder->resultsCount(), 0 );
- m_finder->predictiveSearchQuery( QString("6") );
- QCOMPARE( m_finder->resultsCount(), 3 );
-
- //case 4
-
- m_finder->predictiveSearchQuery( QString("2") );
- QCOMPARE( m_finder->resultsCount(), 3 );
- //see half of matched results
- //results == for(int i =0;i<f->resultCount() / 2;i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString("Levis"));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Augustin Zi"));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString(""));*/
-
- m_finder->predictiveSearchQuery( QString("20") );
- QCOMPARE( m_finder->resultsCount(), 3 );
- m_finder->predictiveSearchQuery( QString("209") );
- QCOMPARE( m_finder->resultsCount(), 1 );
- m_finder->predictiveSearchQuery( QString("20") );
- QCOMPARE( m_finder->resultsCount(), 3 );
- m_finder->predictiveSearchQuery( QString("2") );
- QCOMPARE( m_finder->resultsCount(), 3 );
-
-}
-
/* Test itut keymap predictive search, checking that press key "2", records with names starting letters "A, B, C" are matched;
Press key "3", records with names starting letters "D,E,F" are matched;
Press key "4", records with names starting letters "G,H,I" are matched;
@@ -329,66 +216,86 @@
Press key "0", records with names starting letters "space" etc. are matched;
Press key "1", records with names starting letters "-,Ä,Ö" etc. are matched;
*/
-void st_LogsCntFinder::testKeymap()
+void ST_LogsCntFinder::testKeymap_2()
+{
+ createContacts();
+ const LogsCntEntry* data;
+ m_finder->predictiveSearchQuery( QString("2") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(), 1 );
+}
+
+void ST_LogsCntFinder::testKeymap_3()
+{
+ createContacts();
+ const LogsCntEntry* data;
+ m_finder->predictiveSearchQuery( QString("3") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(), 1 );
+}
+
+void ST_LogsCntFinder::testKeymap_4()
+{
+ createContacts();
+ const LogsCntEntry* data;
+ m_finder->predictiveSearchQuery( QString("4") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(), 1 );
+}
+
+void ST_LogsCntFinder::testKeymap_5()
{
createContacts();
const LogsCntEntry* data;
-
- for (int i = 2; i < 10; i++)
- {
- m_finder->predictiveSearchQuery( QString::number(i) );
- switch( i )
- {
- case 2:
- QCOMPARE( m_finder->resultsCount(), 3 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(), 1 );
- break;
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 5 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(), 1 );
+}
- case 3:
- QCOMPARE( m_finder->resultsCount(), 3 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(), 1 );
- break;
-
- case 4:
- QCOMPARE( m_finder->resultsCount(), 3 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(), 1 );
- break;
+void ST_LogsCntFinder::testKeymap_6()
+{
+ createContacts();
+ const LogsCntEntry* data;
+ m_finder->predictiveSearchQuery( QString("6") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(), 1 );
+}
- case 5:
- QCOMPARE( m_finder->resultsCount(), 5 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(), 1 );
- break;
-
- case 6:
- QCOMPARE( m_finder->resultsCount(), 3 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(), 1 );
- break;
+void ST_LogsCntFinder::testKeymap_7()
+{
+ createContacts();
+ const LogsCntEntry* data;
+ m_finder->predictiveSearchQuery( QString("7") );
+ QCOMPARE( m_finder->resultsCount(), 5 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(),1 );
+}
- case 7:
- QCOMPARE( m_finder->resultsCount(), 5 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(),1 );
- break;
+void ST_LogsCntFinder::testKeymap_8()
+{
+ createContacts();
+ const LogsCntEntry* data;
+ m_finder->predictiveSearchQuery( QString("8") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(), 1 );
+}
- case 8:
- QCOMPARE( m_finder->resultsCount(), 2 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(), 1 );
- break;
+void ST_LogsCntFinder::testKeymap_9()
+{
+ createContacts();
+ const LogsCntEntry* data;
+ m_finder->predictiveSearchQuery( QString("9") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ data = &m_finder->resultAt( 0 );
+ QCOMPARE( data->firstName().count(), 1 );
+}
- case 9:
- QCOMPARE( m_finder->resultsCount(), 3 );
- data = &m_finder->resultAt( 0 );
- QCOMPARE( data->firstName().count(), 1 );
- break;
- }
- }
-}
/* Test zero query search: 1. zero between "1-9" numbers, then first zero works as "AND" statement;
2. (multiple) zero at beginning; 3. (multiple) zero at the end;
@@ -396,59 +303,350 @@
6. Query limit is 15, the 16th is ignored, and first 0 works as "AND" statement */
-void st_LogsCntFinder::testPredictiveSearchQueryZeroStart()
+void ST_LogsCntFinder::testPredictiveSearchQueryZeroStart()
{
createContactsForQueryZero();
m_finder->predictiveSearchQuery( QString("00202") );
QCOMPARE( m_finder->resultsCount(), 2 );
-
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryZeroStartZeroEnd()
+{
+ createContactsForQueryZero();
+
m_finder->predictiveSearchQuery( QString("02010") );
QCOMPARE( m_finder->resultsCount(), 1 );
+}
-}
-void st_LogsCntFinder::testPredictiveSearchQueryZeroMiddle()
+void ST_LogsCntFinder::testPredictiveSearchQueryZeroMiddle()
{
createContactsForQueryZero();
- m_finder->predictiveSearchQuery( QString("566") );
- QCOMPARE( m_finder->resultsCount(), 2 );
m_finder->predictiveSearchQuery( QString("56603") );
QCOMPARE( m_finder->resultsCount(), 1 );
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryMultiZerosMiddle()
+{
+ createContactsForQueryZero();
m_finder->predictiveSearchQuery( QString("2003") );
QCOMPARE( m_finder->resultsCount(), 2 );
-
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryZeroMiddleLong()
+{
+ createContactsForQueryZero();
+
m_finder->predictiveSearchQuery( QString("2272645837883065") );
QCOMPARE( m_finder->resultsCount(), 1 );
-
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryMultiZerosAndZeroMiddle()
+{
+ createContactsForQueryZero();
+
m_finder->predictiveSearchQuery( QString("200904") );
QCOMPARE( m_finder->resultsCount(), 1 );
}
-/*
-Dlice 00202 Qwerty 45789348
-#Paula 2003 Augustin Ci 0078945617
-Paula 02010 Ezerty Adam 78945617
-Ced Y,g +78945617
-Jari-Pekka Baraniktestteste 78945617
-*/
-void st_LogsCntFinder::createContactsForQueryZero()
+
+// Test basic predictive search, all records with names starting letters "J, K, L" are matched
+
+// 5 -> 56 -> 5 -> 56 (not all cached)
+void ST_LogsCntFinder::testPredictiveSearchQueryPartialCached()
+{
+ createContacts();
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 5 );
+ //see half of matched results
+ CHECK_RESULTS( 3, "Jonn", "Ennon" );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ //see half of matched results
+ CHECK_RESULTS( 1, "Jonn", "Ennon" );
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 5 );
+ CHECK_RESULTS( 3, "Jonn", "Ennon" );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ //see half of matched results
+ CHECK_RESULTS( 1, "Jonn", "Ennon" );
+
+}
+
+// 5 -> 56 -> 5 -> 56 (all cached)
+void ST_LogsCntFinder::testPredictiveSearchQueryFullyCached()
+{
+ createContacts();
+
+ //case 1
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 5 );
+ //see all matched results
+ CHECK_RESULTS( 5, "Jonn", "Ennon" );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ //see all of matched results
+ CHECK_RESULTS( 2, "Jonn", "Ennon" );
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 5 );
+ //see all of matched results
+ CHECK_RESULTS( 5, "Jonn", "Ennon" );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ //see all of matched results
+ CHECK_RESULTS( 2, "Jonn", "Ennon" );
+
+}
+
+// 6 -> 69 (no match) -> 692 (no match) -> 69 (no match) -> 6 -> 69 (not all cached)
+void ST_LogsCntFinder::testPredictiveSearchQueryPartialCachedNoResults()
+{
+ createContacts();
+
+ m_finder->predictiveSearchQuery( QString("6") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ //see half of matched results
+ CHECK_RESULTS( 2, "Maria-Zola", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("69") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+ m_finder->predictiveSearchQuery( QString("692") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+ m_finder->predictiveSearchQuery( QString("69") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+
+ m_finder->predictiveSearchQuery( QString("6") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ //see half of matched results
+ CHECK_RESULTS( 2, "Maria-Zola", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("69") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+
+}
+
+// 6 -> 69 (no match) -> 692 (no match) -> 69 (no match) -> 6 -> 69 (all cached)
+void ST_LogsCntFinder::testPredictiveSearchQueryFullyCachedNoResults()
+{
+ createContacts();
+
+ m_finder->predictiveSearchQuery( QString("6") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ //see all of matched results
+ CHECK_RESULTS( 3, "Maria-Zola", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("69") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+ m_finder->predictiveSearchQuery( QString("692") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+ m_finder->predictiveSearchQuery( QString("69") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+
+ m_finder->predictiveSearchQuery( QString("6") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ //see all of matched results
+ CHECK_RESULTS( 3, "Maria-Zola", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("69") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+
+
+}
+
+// 6 -> 69 (no match) -> 692 (no match) -> 69 (no match) -> 6 (all cached)
+void ST_LogsCntFinder::testPredictiveSearchQueryCachedZeroCase()
{
createContacts();
- createOneContact( QString("Dlice 00202"), QString("Qwerty"), QString("45789348") );
- createOneContact( QString("#Paula 2003"), QString("Augustin Ci"), QString("0078945617") );
- createOneContact( QString("Paula 02010"), QString("Ezerty Adam"), QString("78945617") );
- createOneContact( QString("Ced"), QString("Y,g"), QString("+78945617") );
- createOneContact( QString("Jari-Pekka"), QString(" "), QString("78945617") );
+
+ m_finder->predictiveSearchQuery( QString("2") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ CHECK_RESULTS( 2, "Levis", "Augustin" );//Augustin Zi
+
+ m_finder->predictiveSearchQuery( QString("20") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ CHECK_RESULTS( 2, "Levis", "Augustin" );//Augustin Zi
+
+ m_finder->predictiveSearchQuery( QString("209") );
+ QCOMPARE( m_finder->resultsCount(), 1 );
+ CHECK_RESULTS( 1, "Levis", "Augustin" ); //Augustin Zi
+
+ m_finder->predictiveSearchQuery( QString("20") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ CHECK_RESULTS( 2, "Levis", "Augustin" );//Augustin Zi
+
+ m_finder->predictiveSearchQuery( QString("2") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ CHECK_RESULTS( 2, "Levis", "Augustin" );//Augustin Zi
+
+}
+
+
+//There is recent call in logs, no contacts DB
+void ST_LogsCntFinder::testPredictiveSearchQueryLogs()
+{
+ createHistoryEvents();
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
- int contactsCount = m_manager->contactIds().count();
- QCOMPARE(contactsCount, 18);
+ m_finder->predictiveSearchQuery( QString("53") );
+ QCOMPARE( m_finder->resultsCount(), 1 );
+ CHECK_RESULTS( 1, "Jonn", "Lennon" );
+
+ m_finder->predictiveSearchQuery( QString("539") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+
+ m_finder->predictiveSearchQuery( QString("53") );
+ QCOMPARE( m_finder->resultsCount(), 1 );
+ CHECK_RESULTS( 1, "Jonn", "Lennon" );
+
+ QCOMPARE( m_finder->resultsCount(), 0 );
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryLogsZeroCase()
+{
+ createHistoryEvents();
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("50") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("503") );
+ QCOMPARE( m_finder->resultsCount(), 1 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("50") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
}
+//There is recent call in logs, and contacts DB
+void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsPartialCached()
+{
+ createHistoryEvents();
+ createContacts();
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 5, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 4 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("569") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 4 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 5, "Dim-Petter", "Jones" );
+
+
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsFullyCached()
+{
+ createHistoryEvents();
+ createContacts();
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 7, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 4 );
+ CHECK_RESULTS( 4, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("569") );
+ QCOMPARE( m_finder->resultsCount(), 0 );
+
+ m_finder->predictiveSearchQuery( QString("56") );
+ QCOMPARE( m_finder->resultsCount(), 4 );
+ CHECK_RESULTS( 4, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 7, "Dim-Petter", "Jones" );
+
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsZeroCase()
+{
+ createHistoryEvents();
+ createContacts();
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 5, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("50") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("503") );
+ QCOMPARE( m_finder->resultsCount(), 2 );
+ CHECK_RESULTS( 2, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("50") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 5, "Dim-Petter", "Jones" );
+
+ m_finder->predictiveSearchQuery( QString("5") );
+ QCOMPARE( m_finder->resultsCount(), 7 );
+ CHECK_RESULTS( 5, "Dim-Petter", "Jones" );
+
+}
+
+void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsPhoneNumberMatch()
+{
+ createHistoryEvents();
+ createContacts();
+
+ m_finder->predictiveSearchQuery( QString("9") );
+ QCOMPARE( m_finder->resultsCount(), 6 ); //3 history + 3 contacts
+ CHECK_RESULTS( 5, "Stefann", "Fedrernn" );
+
+ m_finder->predictiveSearchQuery( QString("93") );
+ QCOMPARE( m_finder->resultsCount(), 3 );
+ CHECK_RESULTS( 1, "Stefann", "Fedrernn" );
+
+}
+
+
// Test query limit is 15, the 16th digit is ignored
-void st_LogsCntFinder::testPredictiveSearchQueryLimit()
+void ST_LogsCntFinder::testPredictiveSearchQueryLimit()
{
createContacts();
@@ -481,96 +679,7 @@
QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Baraniktestteste"));
}
-//There is recent call in logs, no contacts DB
-void st_LogsCntFinder::testPredictiveSearchQueryLogs()
-{
- createHistoryEvents();
-
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
-
- //case 1
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- //see half of matched results
- //results == for(int i =0;i<f->resultCount() / 2;i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString(""));*/
-
- m_finder->predictiveSearchQuery( QString("533") );
- QCOMPARE( m_finder->resultsCount(), 0 );
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
-
- //case 2
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- //see half of matched results
- //results == for(int i =0;i<f->resultCount() / 2;i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString(""));*/
-
- m_finder->predictiveSearchQuery( QString("50") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- m_finder->predictiveSearchQuery( QString("503") );
- QCOMPARE( m_finder->resultsCount(), 1 );
- m_finder->predictiveSearchQuery( QString("50") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
-
-}
-
-//There is recent call in logs, and contacts DB
-void st_LogsCntFinder::testPredictiveSearchQueryLogsContacts()
-{
- createHistoryEvents();
- createContacts();
-
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
-
- //case 1
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- //see half of matched results
- //results == for(int i =0;i<f->resultCount() / 2;i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString(""));*/
-
- m_finder->predictiveSearchQuery( QString("533") );
- QCOMPARE( m_finder->resultsCount(), 0 );
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
-
- //case 2
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- //see half of matched results
- //results == for(int i =0;i<f->resultCount() / 2;i++){f->resultAt(i);}
- /*QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).firstName().at(0).text(), QString(""));
- QCOMPARE(m_finder->resultAt(1).lastName().at(0).text(), QString(""));*/
-
- m_finder->predictiveSearchQuery( QString("50") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- m_finder->predictiveSearchQuery( QString("503") );
- QCOMPARE( m_finder->resultsCount(), 1 );
- m_finder->predictiveSearchQuery( QString("50") );
- QCOMPARE( m_finder->resultsCount(), 2 );
- m_finder->predictiveSearchQuery( QString("5") );
- QCOMPARE( m_finder->resultsCount(), 2 );
-
-}
-
-void st_LogsCntFinder::testQueryOrder()
+void ST_LogsCntFinder::testQueryOrder()
{
createContactsForQueryOrder();
@@ -602,65 +711,3 @@
QCOMPARE(m_finder->resultAt(7).lastName().at(0).text(), QString("Yadira"));
}
-void st_LogsCntFinder::createContactsForQueryOrder()
-{
- createContacts();
- createOneContact( QString("Anna"), QString("Qwerty"), QString("45789348") );
- createOneContact( QString("Paula"), QString("Qwerty"), QString("78945617") );
- createOneContact( QString("Paula"), QString("Azerty"), QString("78945617") );
-
- int contactsCount = m_manager->contactIds().count();
- QCOMPARE(contactsCount, 16);
-}
-
-//QTEST_MAIN(st_LogsCntFinder);
-
-/*int main(int argc, char *argv[])
-{
- bool promptOnExit(true);
- bool xmlOutput(false);
-
- for (int i=0; i<argc; i++) {
- if (QString(argv[i]) == "-noprompt") {
- promptOnExit = false;
- }
- if (QString(argv[i]) == "-xml") {
- xmlOutput = true;
- }
- }
- printf("Running tests...\n");
-
- QApplication app(argc, argv);
- st_LogsCntFinder st_logscntfinder;
- QString resultFileName = "c:/data/others/st_LogsCntFinder";
- resultFileName.append(xmlOutput ? ".xml" : ".txt");
- QStringList args_logsCntFinder("st_logscntfinder");
- if (xmlOutput)
- args_logsCntFinder.append("-xml");
- args_logsCntFinder << "-v1" << "-o" << resultFileName;
- QTest::qExec(&st_logscntfinder, args_logsCntFinder);
-
- if (xmlOutput) {
- TestResultXmlParser parser;
- parser.parseAndPrintResults(resultFileName);
- }
-
- if (promptOnExit) {
- printf("Press any key...\n");
- getchar();
- }
-
- return 0;
-}*/
-
-int main(int argc, char *argv[]) //on HW
-{
- QApplication app(argc, argv);
-
- st_LogsCntFinder st_logscntfinder;
- QString resultFileName = "c:/data/others/st_logscntfinder.txt";
- QStringList args_logsCntFinder( "st_logscntfinder");
- args_logsCntFinder << "-o" << resultFileName;
- QTest::qExec(&st_logscntfinder, args_logsCntFinder);
- return 0;
-}