logsui/logscntfinder/tsrc/st_logscntfinder/src/st_logscntfinder.cpp
changeset 15 76d2cf7a585e
parent 9 68f3171a5819
child 17 90fe74753f71
equal deleted inserted replaced
13:52d644758b05 15:76d2cf7a585e
    20 
    20 
    21 #include <qtcontacts.h>
    21 #include <qtcontacts.h>
    22 #include <QtTest/QtTest>
    22 #include <QtTest/QtTest>
    23 #include <hbinputsettingproxy.h>
    23 #include <hbinputsettingproxy.h>
    24 
    24 
       
    25 #define IGNORE_TEST ""
       
    26 #define IGNORE_TEST_I -1
       
    27 
       
    28 #define NOT_EXEC_IF_NOCNTS_SET if ( !mCreateContacts ) return
       
    29 
    25 #define CHECK_HIGHLIGHTS( index, expected )\
    30 #define CHECK_HIGHLIGHTS( index, expected )\
    26         QVERIFY( checkHighlights( index, expected ) )
    31         QVERIFY( checkHighlights( index, expected ) )
    27 
    32 
    28 #define CHECK_RESULTS( count, first, last, highlights )\
    33 #define CHECK_RESULTS( count, first, last, highlights )\
    29     for(int i=0;i<count; i++ ) {\
    34     for(int i=0;i<count; i++ ) {\
    30         if ( i == 0 ) {\
    35         if ( highlights != IGNORE_TEST_I && i == 0 ) {\
    31             QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString(first));\
    36             QCOMPARE(m_finder->resultAt(0).firstName().at(0).text(), QString(first));\
    32             QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString(last));\
    37             QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString(last));\
    33             CHECK_HIGHLIGHTS( 0,highlights );\
    38             CHECK_HIGHLIGHTS( 0,highlights );\
    34         } else {\
    39         } else {\
    35             m_finder->resultAt(i);\
    40             m_finder->resultAt(i);\
    36         }\
    41         }\
    37     }
    42     }
    38 
    43 
    39 
    44 
    40 
       
    41 bool ST_LogsCntFinder::checkHighlights( int index,int expected )
    45 bool ST_LogsCntFinder::checkHighlights( int index,int expected )
    42 {
    46 {
    43     bool foundOne = false;
    47     bool foundOne = false;
    44     const LogsCntEntry& entry = m_finder->resultAt( index );
    48     const LogsCntEntry& entry = m_finder->resultAt( index );
    45     int ndx = 0;
    49     int ndx = 0;
    80     
    84     
    81     m_finder = 0;
    85     m_finder = 0;
    82     m_finder = new LogsCntFinder(*m_manager);
    86     m_finder = new LogsCntFinder(*m_manager);
    83     QVERIFY(m_finder);
    87     QVERIFY(m_finder);
    84     
    88     
    85     // Remove all contacts from the database
    89     if ( mCreateContacts ) {
    86     QList<QContactLocalId> cnt_ids = m_manager->contactIds();
    90         // Remove all contacts from the database
    87     qDebug() << "contacts now before deleting" << cnt_ids.count();
    91         QList<QContactLocalId> cnt_ids = m_manager->contactIds();
    88 
    92         qDebug() << "contacts now before deleting" << cnt_ids.count();
    89     m_manager->removeContacts(cnt_ids, 0 );
    93     
    90     cnt_ids = m_manager->contactIds();
    94         m_manager->removeContacts(cnt_ids, 0 );
    91     QCOMPARE(cnt_ids.count(), 0);
    95         cnt_ids = m_manager->contactIds();
    92 
    96         QCOMPARE(cnt_ids.count(), 0);
    93     for (int i = 0; i < 10; ++i) {
    97 
    94         m_finder->predictiveSearchQuery( QString::number(i) );
    98         for (int i = 0; i < 10; ++i) {
    95         QCOMPARE( m_finder->resultsCount(), 0 );
    99             m_finder->predictiveSearchQuery( QString::number(i) );
       
   100             QCOMPARE( m_finder->resultsCount(), 0 );
       
   101         }
       
   102         m_finder->predictiveSearchQuery( QString("") );
       
   103         
    96     }
   104     }
       
   105     
    97 }
   106 }
    98 
   107 
    99 void ST_LogsCntFinder::cleanup()
   108 void ST_LogsCntFinder::cleanup()
   100 {
   109 {
   101     delete m_finder;
   110     delete m_finder;
   105     
   114     
   106 }
   115 }
   107 
   116 
   108 void ST_LogsCntFinder::createContacts()
   117 void ST_LogsCntFinder::createContacts()
   109 {
   118 {
   110     /*Create contacts in Contacts DB for keymap testing
   119     if ( mCreateContacts ) {
   111 		Stefann    Yadira
   120 
   112 		Jonn         Ennon
   121         /*Create contacts in Contacts DB for keymap testing
   113 		Maria-Zola     Jones
   122                     Stefann    Yadira
   114 		Levis         Augustin Zi
   123                     Jonn         Ennon
   115 		Nancy       Csoma
   124                     Maria-Zola     Jones
   116 		Olga          Baraniktestteste
   125                     Levis         Augustin Zi
   117 		Petter       Harhai
   126                     Nancy       Csoma
   118 		Queen      Fesko
   127                     Olga          Baraniktestteste
   119 		Rose        Galisin
   128                     Petter       Harhai
   120 		Sasha      Dofzin
   129                     Queen      Fesko
   121 		Tisha       Iatzkovits
   130                     Rose        Galisin
   122 		Wilda       Lazar
   131                     Sasha      Dofzin
   123 		Una Vivi   Kantsak
   132                     Tisha       Iatzkovits
   124 		*/
   133                     Wilda       Lazar
   125     createOneContact( QString("Stefann"), QString("Yadira "), QString("932472398") );
   134                     Una Vivi   Kantsak
   126     createOneContact( QString("Jonn"), QString("Ennon"), QString("932472398") );
   135                     */
   127     createOneContact( QString("Maria-Zola"), QString("Jones"), QString("932472398") );
   136         createOneContact( QString("Stefann"), QString("Yadira "), QString("932472398") );
   128     createOneContact( QString("Levis"), QString("Augustin Zi"), QString("932472398") );
   137         createOneContact( QString("Jonn"), QString("Ennon"), QString("932472398") );
   129     createOneContact( QString("Nancy"), QString("Csoma"), QString("932472398") );
   138         createOneContact( QString("Maria-Zola"), QString("Jones"), QString("932472398") );
   130     createOneContact( QString("Olga"), QString("Baraniktestteste"), QString("932472398") );
   139         createOneContact( QString("Levis"), QString("Augustin Zi"), QString("932472398") );
   131     createOneContact( QString("Petter"), QString("Harhai"), QString("932472398") );
   140         createOneContact( QString("Nancy"), QString("Csoma"), QString("932472398") );
   132     createOneContact( QString("Queen"), QString("Fesko"), QString("932472398") );
   141         createOneContact( QString("Olga"), QString("Baraniktestteste"), QString("932472398") );
   133     createOneContact( QString("Rose"), QString("Galisin"), QString("932472398") );
   142         createOneContact( QString("Petter"), QString("Harhai"), QString("932472398") );
   134     createOneContact( QString("Sasha"), QString("Dofzin"), QString("932472398") );
   143         createOneContact( QString("Queen"), QString("Fesko"), QString("932472398") );
   135     createOneContact( QString("Tisha"), QString("Iatzkovits"), QString("932472398") );
   144         createOneContact( QString("Rose"), QString("Galisin"), QString("932472398") );
   136     createOneContact( QString("Wilda"), QString("Lazar"), QString("932472398") );
   145         createOneContact( QString("Sasha"), QString("Dofzin"), QString("932472398") );
   137     createOneContact( QString("Una Vivi"), QString("Kantsak"), QString("932472398") );
   146         createOneContact( QString("Tisha"), QString("Iatzkovits"), QString("932472398") );
   138 
   147         createOneContact( QString("Wilda"), QString("Lazar"), QString("932472398") );
   139     int contactsCount = m_manager->contactIds().count();
   148         createOneContact( QString("Una Vivi"), QString("Kantsak"), QString("932472398") );
   140     QCOMPARE(contactsCount, 13);
   149 
   141 
   150         int contactsCount = m_manager->contactIds().count();
   142     
   151         QCOMPARE(contactsCount, 13);
       
   152 
       
   153     }    
   143 }
   154 }
   144 
   155 
   145 /* 
   156 /* 
   146 Dlice 00202       Qwerty        45789348
   157 Dlice 00202       Qwerty        45789348
   147 #Paula 2003       Augustin Ci   0078945617 
   158 #Paula 2003       Augustin Ci   0078945617 
   149 Ced               Y,g           +78945617
   160 Ced               Y,g           +78945617
   150 Jari-Pekka        Baraniktestteste 78945617
   161 Jari-Pekka        Baraniktestteste 78945617
   151 */
   162 */
   152 void ST_LogsCntFinder::createContactsForQueryZero()
   163 void ST_LogsCntFinder::createContactsForQueryZero()
   153 {
   164 {
   154     createContacts();
   165     if ( mCreateContacts ) {
   155     createOneContact( QString("Dlice 0202"), QString("Qwerty"), QString("45789348") );
   166         createContacts();
   156     createOneContact( QString("#Paula 2003"), QString("Augustin Ci"), QString("0078945617") );
   167         createOneContact( QString("Dlice 00202"), QString("Qwerty"), QString("45789348") );
   157     createOneContact( QString("Paula 02010"), QString("Ezerty Adam"), QString("78945617") );
   168         createOneContact( QString("#Paula 2003"), QString("Augustin Ci"), QString("0078945617") );
   158     createOneContact( QString("Ced"), QString(",Yg"), QString("+78945617") );
   169         createOneContact( QString("Paula 002010"), QString("Ezerty Adam"), QString("78945617") );
   159     createOneContact( QString("Jari-Pekka"), QString(" "), QString("78945617") );
   170         createOneContact( QString("Ced"), QString("Y0g"), QString("+78945617") );
   160 
   171         createOneContact( QString("Jari-Pekka"), QString(" "), QString("78945617") );
   161     int contactsCount = m_manager->contactIds().count();
   172     
   162     QCOMPARE(contactsCount, 18);
   173         int contactsCount = m_manager->contactIds().count();
       
   174         QCOMPARE(contactsCount, 18);
       
   175     }
   163 }
   176 }
   164 
   177 
   165 void ST_LogsCntFinder::createContactsWithSpecialChars()
   178 void ST_LogsCntFinder::createContactsWithSpecialChars()
   166 {
   179 {
   167     
   180     if ( mCreateContacts ) {
   168     createOneContact( QString("Hannu%"), QString(""), QString("932472398") );
   181         
   169     createOneContact( QString("%Hannu"), QString(""), QString("932472398") );
   182         createOneContact( QString("Hannu%"), QString(""), QString("932472398") );
   170     
   183         createOneContact( QString("%Hannu"), QString(""), QString("932472398") );
       
   184     }    
   171 }
   185 }
   172 
   186 
   173 void ST_LogsCntFinder::createHistoryEvents()
   187 void ST_LogsCntFinder::createHistoryEvents()
   174 { 
   188 { 
   175   //inserted inreverse order
   189   //inserted inreverse order
   194   
   208   
   195 }
   209 }
   196 
   210 
   197 void ST_LogsCntFinder::createContactsForQueryOrder()
   211 void ST_LogsCntFinder::createContactsForQueryOrder()
   198 {
   212 {
   199     createContacts();
   213     if ( mCreateContacts ) {
   200     createOneContact( QString("Anna"), QString("Qwerty"), QString("45789348") );
   214         createContacts();
   201     createOneContact( QString("Paula"), QString("Qwerty"), QString("78945617") );
   215         createOneContact( QString("Anna"), QString("Qwerty"), QString("45789348") );
   202     createOneContact( QString("Paula"), QString("Azerty"), QString("78945617") );
   216         createOneContact( QString("Paula"), QString("Qwerty"), QString("78945617") );
   203 
   217         createOneContact( QString("Paula"), QString("Azerty"), QString("78945617") );
   204     int contactsCount = m_manager->contactIds().count();
   218     
   205     QCOMPARE(contactsCount, 16);
   219         int contactsCount = m_manager->contactIds().count();
       
   220         QCOMPARE(contactsCount, 16);
       
   221     }
   206 }
   222 }
   207 
   223 
   208 
   224 
   209 
   225 
   210 void ST_LogsCntFinder::createOneContact(QString firstname, QString Lastname, 
   226 void ST_LogsCntFinder::createOneContact(QString firstname, QString Lastname, 
   247 Press key "0", records with names starting letters "space" etc. are matched;
   263 Press key "0", records with names starting letters "space" etc. are matched;
   248 Press key "1", records with names starting letters "-,Ä,Ö" etc. are matched;
   264 Press key "1", records with names starting letters "-,Ä,Ö" etc. are matched;
   249 */
   265 */
   250 void ST_LogsCntFinder::testKeymap_2()
   266 void ST_LogsCntFinder::testKeymap_2()
   251 {
   267 {
       
   268     NOT_EXEC_IF_NOCNTS_SET;
       
   269     
   252     createContacts();
   270     createContacts();
   253     const LogsCntEntry* data; 
   271     const LogsCntEntry* data; 
   254     m_finder->predictiveSearchQuery( QString("2") );
   272     m_finder->predictiveSearchQuery( QString("2") );
   255     QCOMPARE( m_finder->resultsCount(), 3 );
   273     QCOMPARE( m_finder->resultsCount(), 3 );
   256     data = &m_finder->resultAt( 0 );
   274     data = &m_finder->resultAt( 0 );
   257     QCOMPARE( data->firstName().count(), 1 );
   275     QCOMPARE( data->firstName().count(), 1 );
   258 }
   276 }
   259 
   277 
   260 void ST_LogsCntFinder::testKeymap_3()
   278 void ST_LogsCntFinder::testKeymap_3()
   261 {
   279 {
       
   280     NOT_EXEC_IF_NOCNTS_SET;
       
   281     
   262     createContacts();
   282     createContacts();
   263     const LogsCntEntry* data; 
   283     const LogsCntEntry* data; 
   264     m_finder->predictiveSearchQuery( QString("3") );
   284     m_finder->predictiveSearchQuery( QString("3") );
   265     QCOMPARE( m_finder->resultsCount(), 3 );
   285     QCOMPARE( m_finder->resultsCount(), 3 );
   266     data = &m_finder->resultAt( 0 );
   286     data = &m_finder->resultAt( 0 );
   267     QCOMPARE( data->firstName().count(), 1 );
   287     QCOMPARE( data->firstName().count(), 1 );
   268 }
   288 }
   269 
   289 
   270 void ST_LogsCntFinder::testKeymap_4()
   290 void ST_LogsCntFinder::testKeymap_4()
   271 {
   291 {
       
   292     NOT_EXEC_IF_NOCNTS_SET;
       
   293     
   272     createContacts();
   294     createContacts();
   273     const LogsCntEntry* data; 
   295     const LogsCntEntry* data; 
   274     m_finder->predictiveSearchQuery( QString("4") );
   296     m_finder->predictiveSearchQuery( QString("4") );
   275     QCOMPARE( m_finder->resultsCount(), 3 );
   297     QCOMPARE( m_finder->resultsCount(), 3 );
   276     data = &m_finder->resultAt( 0 );
   298     data = &m_finder->resultAt( 0 );
   277     QCOMPARE( data->firstName().count(), 1 );
   299     QCOMPARE( data->firstName().count(), 1 );
   278 }
   300 }
   279 
   301 
   280 void ST_LogsCntFinder::testKeymap_5()
   302 void ST_LogsCntFinder::testKeymap_5()
   281 {
   303 {
       
   304     NOT_EXEC_IF_NOCNTS_SET;
       
   305     
   282     createContacts();
   306     createContacts();
   283     const LogsCntEntry* data; 
   307     const LogsCntEntry* data; 
   284     m_finder->predictiveSearchQuery( QString("5") );
   308     m_finder->predictiveSearchQuery( QString("5") );
   285     QCOMPARE( m_finder->resultsCount(), 5 );
   309     QCOMPARE( m_finder->resultsCount(), 5 );
   286     data = &m_finder->resultAt( 0 );
   310     data = &m_finder->resultAt( 0 );
   287     QCOMPARE( data->firstName().count(), 1 );
   311     QCOMPARE( data->firstName().count(), 1 );
   288 }
   312 }
   289 
   313 
   290 void ST_LogsCntFinder::testKeymap_6()
   314 void ST_LogsCntFinder::testKeymap_6()
   291 {
   315 {
       
   316     NOT_EXEC_IF_NOCNTS_SET;
       
   317     
   292     createContacts();
   318     createContacts();
   293     const LogsCntEntry* data; 
   319     const LogsCntEntry* data; 
   294     m_finder->predictiveSearchQuery( QString("6") );
   320     m_finder->predictiveSearchQuery( QString("6") );
   295     QCOMPARE( m_finder->resultsCount(), 3 );
   321     QCOMPARE( m_finder->resultsCount(), 3 );
   296     data = &m_finder->resultAt( 0 );
   322     data = &m_finder->resultAt( 0 );
   297     QCOMPARE( data->firstName().count(), 1 );
   323     QCOMPARE( data->firstName().count(), 1 );
   298 }
   324 }
   299 
   325 
   300 void ST_LogsCntFinder::testKeymap_7()
   326 void ST_LogsCntFinder::testKeymap_7()
   301 {
   327 {
       
   328     NOT_EXEC_IF_NOCNTS_SET;
       
   329     
   302     createContacts();
   330     createContacts();
   303     const LogsCntEntry* data; 
   331     const LogsCntEntry* data; 
   304     m_finder->predictiveSearchQuery( QString("7") );
   332     m_finder->predictiveSearchQuery( QString("7") );
   305     QCOMPARE( m_finder->resultsCount(), 5 );
   333     QCOMPARE( m_finder->resultsCount(), 5 );
   306     data = &m_finder->resultAt( 0 );
   334     data = &m_finder->resultAt( 0 );
   307     QCOMPARE( data->firstName().count(),1 );
   335     QCOMPARE( data->firstName().count(),1 );
   308 }
   336 }
   309 
   337 
   310 void ST_LogsCntFinder::testKeymap_8()
   338 void ST_LogsCntFinder::testKeymap_8()
   311 {
   339 {
       
   340     NOT_EXEC_IF_NOCNTS_SET;
       
   341     
   312     createContacts();
   342     createContacts();
   313     const LogsCntEntry* data; 
   343     const LogsCntEntry* data; 
   314     m_finder->predictiveSearchQuery( QString("8") );
   344     m_finder->predictiveSearchQuery( QString("8") );
   315     QCOMPARE( m_finder->resultsCount(), 2 );
   345     QCOMPARE( m_finder->resultsCount(), 2 );
   316     data = &m_finder->resultAt( 0 );
   346     data = &m_finder->resultAt( 0 );
   317     QCOMPARE( data->firstName().count(), 1 );
   347     QCOMPARE( data->firstName().count(), 1 );
   318 }
   348 }
   319 
   349 
   320 void ST_LogsCntFinder::testKeymap_9()
   350 void ST_LogsCntFinder::testKeymap_9()
   321 {
   351 {
       
   352     NOT_EXEC_IF_NOCNTS_SET;
   322     createContacts();
   353     createContacts();
   323     const LogsCntEntry* data; 
   354     const LogsCntEntry* data; 
   324     m_finder->predictiveSearchQuery( QString("9") );
   355     m_finder->predictiveSearchQuery( QString("9") );
   325     QCOMPARE( m_finder->resultsCount(), 3 );
   356     QCOMPARE( m_finder->resultsCount(), 3 );
   326     data = &m_finder->resultAt( 0 );
   357     data = &m_finder->resultAt( 0 );
   336 
   367 
   337 void ST_LogsCntFinder::testPredictiveSearchQueryZeroStart()
   368 void ST_LogsCntFinder::testPredictiveSearchQueryZeroStart()
   338 {
   369 {
   339     createContactsForQueryZero();
   370     createContactsForQueryZero();
   340     
   371     
   341     m_finder->predictiveSearchQuery( QString("0202") );
   372     m_finder->predictiveSearchQuery( QString("002") );
   342     QCOMPARE( m_finder->resultsCount(), 2 );
   373     QCOMPARE( m_finder->resultsCount(), 7 );//002 + 2 matches
       
   374     //Levis, Augustin Zi
       
   375     //Nancy, Csoma
       
   376     //Olga, Baraniktestteste
       
   377     //Dlice 00202, Qwerty
       
   378     //#Paula 2003, Augustin Ci
       
   379     //Paula 002010, Ezerty Adam
       
   380     //Ced, Y0g
       
   381 
       
   382     m_finder->predictiveSearchQuery( QString("") );
       
   383     
       
   384     m_finder->predictiveSearchQuery( QString("00202") );
       
   385     QCOMPARE( m_finder->resultsCount(), 3 );
       
   386     //Dlice 00202, Qwerty
       
   387     //#Paula 2003, Augustin Ci <= 2003 was found with pattern 002
       
   388     //Paula 002010, Ezerty Adam
       
   389     
   343 }
   390 }
   344 
   391 
   345 void ST_LogsCntFinder::testPredictiveSearchQueryZeroStartZeroEnd()
   392 void ST_LogsCntFinder::testPredictiveSearchQueryZeroStartZeroEnd()
   346 {
   393 {
   347     createContactsForQueryZero();
   394     createContactsForQueryZero();
   348         
   395 
   349     m_finder->predictiveSearchQuery( QString("02010") );
   396     m_finder->predictiveSearchQuery( QString("200") );//db
   350     QCOMPARE( m_finder->resultsCount(), 2 );
   397     QCOMPARE( m_finder->resultsCount(), 6 );
       
   398     //Levis, Augustin Zi
       
   399     //Nancy, Csoma
       
   400     //Olga, Baraniktestteste
       
   401     //#Paula 2003, Augustin Ci
       
   402     //Paula 002010, Ezerty Adam
       
   403     //Ced, Y0g
       
   404     
       
   405     m_finder->predictiveSearchQuery( QString("") );
       
   406     
       
   407     m_finder->predictiveSearchQuery( QString("002010") );
       
   408     QCOMPARE( m_finder->resultsCount(), 1 );
   351 }
   409 }
   352 
   410 
   353 void ST_LogsCntFinder::testPredictiveSearchQueryZeroMiddle()
   411 void ST_LogsCntFinder::testPredictiveSearchQueryZeroMiddle()
   354 {
   412 {
   355     createContactsForQueryZero();
   413     createContactsForQueryZero();
   368 
   426 
   369 void ST_LogsCntFinder::testPredictiveSearchQueryZeroMiddleLong()
   427 void ST_LogsCntFinder::testPredictiveSearchQueryZeroMiddleLong()
   370 {
   428 {
   371     createContactsForQueryZero();
   429     createContactsForQueryZero();
   372 
   430 
   373     m_finder->predictiveSearchQuery( QString("2272645837883065") );
   431     m_finder->predictiveSearchQuery( QString("227264583788065") );
   374     QCOMPARE( m_finder->resultsCount(), 1 );
   432     QCOMPARE( m_finder->resultsCount(), 1 );
       
   433 
       
   434     m_finder->predictiveSearchQuery( QString("227264583788065090") );
       
   435     QCOMPARE( m_finder->resultsCount(), 1 );
       
   436     
   375 }
   437 }
   376 
   438 
   377 void ST_LogsCntFinder::testPredictiveSearchQueryMultiZerosAndZeroMiddle()
   439 void ST_LogsCntFinder::testPredictiveSearchQueryMultiZerosAndZeroMiddle()
   378 {
   440 {
   379     createContactsForQueryZero();
   441     createContactsForQueryZero();
   387 // Test basic predictive search, all records with names starting letters "J, K, L" are matched
   449 // Test basic predictive search, all records with names starting letters "J, K, L" are matched
   388 
   450 
   389 // 5 -> 56 -> 5 -> 56    (not all cached)
   451 // 5 -> 56 -> 5 -> 56    (not all cached)
   390 void ST_LogsCntFinder::testPredictiveSearchQueryPartialCached()
   452 void ST_LogsCntFinder::testPredictiveSearchQueryPartialCached()
   391 {
   453 {
       
   454     NOT_EXEC_IF_NOCNTS_SET;
   392     createContacts();
   455     createContacts();
   393 
   456 
   394     m_finder->predictiveSearchQuery( QString("5") );
   457     m_finder->predictiveSearchQuery( QString("5") );
   395     QCOMPARE( m_finder->resultsCount(), 5 );
   458     QCOMPARE( m_finder->resultsCount(), 5 );
   396     //see half of matched results
   459     //see half of matched results
   413 }
   476 }
   414 
   477 
   415 // 5 -> 56 -> 5 -> 56   (all cached)
   478 // 5 -> 56 -> 5 -> 56   (all cached)
   416 void ST_LogsCntFinder::testPredictiveSearchQueryFullyCached()
   479 void ST_LogsCntFinder::testPredictiveSearchQueryFullyCached()
   417 {
   480 {
       
   481     NOT_EXEC_IF_NOCNTS_SET;
   418     createContacts();
   482     createContacts();
   419 
   483 
   420     //case 1
   484     //case 1
   421     m_finder->predictiveSearchQuery( QString("5") );
   485     m_finder->predictiveSearchQuery( QString("5") );
   422     QCOMPARE( m_finder->resultsCount(), 5 );
   486     QCOMPARE( m_finder->resultsCount(), 5 );
   441 }
   505 }
   442 
   506 
   443 // 6 -> 69 (no match) -> 692 (no match) -> 69 (no match) -> 6 -> 69    (not all cached)
   507 // 6 -> 69 (no match) -> 692 (no match) -> 69 (no match) -> 6 -> 69    (not all cached)
   444 void ST_LogsCntFinder::testPredictiveSearchQueryPartialCachedNoResults()
   508 void ST_LogsCntFinder::testPredictiveSearchQueryPartialCachedNoResults()
   445 {
   509 {
       
   510     NOT_EXEC_IF_NOCNTS_SET;
   446     createContacts();
   511     createContacts();
   447 		
   512 		
   448     m_finder->predictiveSearchQuery( QString("6") );
   513     m_finder->predictiveSearchQuery( QString("6") );
   449     QCOMPARE( m_finder->resultsCount(), 3 );
   514     QCOMPARE( m_finder->resultsCount(), 3 );
   450     //see half of matched results
   515     //see half of matched results
   468 }
   533 }
   469 
   534 
   470 // 6 -> 69 (no match) -> 692 (no match) -> 69 (no match) -> 6 -> 69    (all cached)
   535 // 6 -> 69 (no match) -> 692 (no match) -> 69 (no match) -> 6 -> 69    (all cached)
   471 void ST_LogsCntFinder::testPredictiveSearchQueryFullyCachedNoResults()
   536 void ST_LogsCntFinder::testPredictiveSearchQueryFullyCachedNoResults()
   472 {
   537 {
       
   538     NOT_EXEC_IF_NOCNTS_SET;
   473     createContacts();
   539     createContacts();
   474                 
   540                 
   475     m_finder->predictiveSearchQuery( QString("6") );
   541     m_finder->predictiveSearchQuery( QString("6") );
   476     QCOMPARE( m_finder->resultsCount(), 3 );
   542     QCOMPARE( m_finder->resultsCount(), 3 );
   477     //see all of matched results
   543     //see all of matched results
   496 }
   562 }
   497 
   563 
   498 // 
   564 // 
   499 void ST_LogsCntFinder::testPredictiveSearchQueryPartialCachedZeroCase()
   565 void ST_LogsCntFinder::testPredictiveSearchQueryPartialCachedZeroCase()
   500 {
   566 {
       
   567     NOT_EXEC_IF_NOCNTS_SET;
   501     createContacts();
   568     createContacts();
   502     
   569     
   503     m_finder->predictiveSearchQuery( QString("2") );//db
   570     m_finder->predictiveSearchQuery( QString("2") );//db
   504     QCOMPARE( m_finder->resultsCount(), 3 );
   571     QCOMPARE( m_finder->resultsCount(), 3 );
   505     //Augustin Zi
   572     //Augustin Zi
   528     CHECK_RESULTS( 2, "Levis", "Augustin", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   595     CHECK_RESULTS( 2, "Levis", "Augustin", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   529 
   596 
   530        
   597        
   531 }
   598 }
   532 
   599 
       
   600 
       
   601 void ST_LogsCntFinder::testPredictiveSearchQueryFullyCachedZerosStartCase()
       
   602 {
       
   603     createContactsForQueryZero();
       
   604     
       
   605     m_finder->predictiveSearchQuery( QString("0") ); //db
       
   606     QCOMPARE( m_finder->resultsCount(), 2 );
       
   607     CHECK_RESULTS( 2, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   608     
       
   609     m_finder->predictiveSearchQuery( QString("00") );//db
       
   610     QCOMPARE( m_finder->resultsCount(), 2 );
       
   611     CHECK_RESULTS( 2, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   612     
       
   613     m_finder->predictiveSearchQuery( QString("002") );//db
       
   614     QCOMPARE( m_finder->resultsCount(), 7 );//002 + 2 matches
       
   615     CHECK_RESULTS( 7, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   616     
       
   617     m_finder->predictiveSearchQuery( QString("0020") );//db
       
   618     QCOMPARE( m_finder->resultsCount(), 7 );
       
   619     CHECK_RESULTS( 7, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   620     
       
   621     m_finder->predictiveSearchQuery( QString("00202") );//cache
       
   622     QCOMPARE( m_finder->resultsCount(), 3 );
       
   623     CHECK_RESULTS( 3, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   624     
       
   625     m_finder->predictiveSearchQuery( QString("0020") );//db
       
   626     QCOMPARE( m_finder->resultsCount(), 7 );
       
   627     CHECK_RESULTS( 7, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   628     
       
   629     m_finder->predictiveSearchQuery( QString("002") );//db
       
   630     QCOMPARE( m_finder->resultsCount(), 7 );//002 + 2 matches
       
   631     CHECK_RESULTS( 7, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   632     
       
   633     m_finder->predictiveSearchQuery( QString("00") );//db
       
   634     QCOMPARE( m_finder->resultsCount(), 2 );
       
   635     CHECK_RESULTS( 2, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   636        
       
   637     m_finder->predictiveSearchQuery( QString("0") );//db
       
   638     QCOMPARE( m_finder->resultsCount(), 2 );
       
   639     CHECK_RESULTS( 2, IGNORE_TEST, IGNORE_TEST, IGNORE_TEST_I ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
       
   640     
       
   641 }
       
   642 
   533 // 
   643 // 
   534 void ST_LogsCntFinder::testPredictiveSearchQueryFullyCachedZerosCase()
   644 void ST_LogsCntFinder::testPredictiveSearchQueryFullyCachedZerosEndCase()
   535 {
   645 {
       
   646     NOT_EXEC_IF_NOCNTS_SET;
   536     createContacts();
   647     createContacts();
   537     
   648     
   538     m_finder->predictiveSearchQuery( QString("2") ); //db
   649     m_finder->predictiveSearchQuery( QString("2") ); //db
   539     QCOMPARE( m_finder->resultsCount(), 3 );
   650     QCOMPARE( m_finder->resultsCount(), 3 );
   540     CHECK_RESULTS( 3, "Levis", "Augustin", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   651     CHECK_RESULTS( 3, "Levis", "Augustin", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   566 }
   677 }
   567 
   678 
   568 //There is recent call in logs, no contacts DB
   679 //There is recent call in logs, no contacts DB
   569 void ST_LogsCntFinder::testPredictiveSearchQueryLogs()
   680 void ST_LogsCntFinder::testPredictiveSearchQueryLogs()
   570 {
   681 {
       
   682     NOT_EXEC_IF_NOCNTS_SET;
   571     createHistoryEvents();
   683     createHistoryEvents();
   572 
   684 
   573     m_finder->predictiveSearchQuery( QString("5") );
   685     m_finder->predictiveSearchQuery( QString("5") );
   574     QCOMPARE( m_finder->resultsCount(), 2 );
   686     QCOMPARE( m_finder->resultsCount(), 2 );
   575     CHECK_RESULTS( 2, "Dim-Petter", "Jones", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   687     CHECK_RESULTS( 2, "Dim-Petter", "Jones", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   594     CHECK_RESULTS( 2, "Dim-Petter", "Jones", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   706     CHECK_RESULTS( 2, "Dim-Petter", "Jones", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   595 }
   707 }
   596 
   708 
   597 void ST_LogsCntFinder::testPredictiveSearchQueryLogsZeroCase()
   709 void ST_LogsCntFinder::testPredictiveSearchQueryLogsZeroCase()
   598 {
   710 {
       
   711     NOT_EXEC_IF_NOCNTS_SET;
   599     createHistoryEvents();
   712     createHistoryEvents();
   600     
   713     
   601     m_finder->predictiveSearchQuery( QString("5") );
   714     m_finder->predictiveSearchQuery( QString("5") );
   602     QCOMPARE( m_finder->resultsCount(), 2 );
   715     QCOMPARE( m_finder->resultsCount(), 2 );
   603     CHECK_RESULTS( 2, "Dim-Petter", "Jones", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   716     CHECK_RESULTS( 2, "Dim-Petter", "Jones", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   621 }
   734 }
   622 
   735 
   623 //There is recent call in logs, and contacts DB
   736 //There is recent call in logs, and contacts DB
   624 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsPartialCached()
   737 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsPartialCached()
   625 {
   738 {
       
   739     NOT_EXEC_IF_NOCNTS_SET;
   626     createHistoryEvents();
   740     createHistoryEvents();
   627     createContacts();
   741     createContacts();
   628 
   742 
   629     m_finder->predictiveSearchQuery( QString("5") );
   743     m_finder->predictiveSearchQuery( QString("5") );
   630     QCOMPARE( m_finder->resultsCount(), 7 );
   744     QCOMPARE( m_finder->resultsCount(), 7 );
   648     
   762     
   649 }
   763 }
   650 
   764 
   651 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsFullyCached()
   765 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsFullyCached()
   652 {
   766 {
       
   767     NOT_EXEC_IF_NOCNTS_SET;
   653     createHistoryEvents();
   768     createHistoryEvents();
   654     createContacts();
   769     createContacts();
   655 
   770 
   656     m_finder->predictiveSearchQuery( QString("5") );
   771     m_finder->predictiveSearchQuery( QString("5") );
   657     QCOMPARE( m_finder->resultsCount(), 7 );
   772     QCOMPARE( m_finder->resultsCount(), 7 );
   674     
   789     
   675 }
   790 }
   676 
   791 
   677 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsZeroCase()
   792 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsZeroCase()
   678 {
   793 {
       
   794     NOT_EXEC_IF_NOCNTS_SET;
   679     createHistoryEvents();
   795     createHistoryEvents();
   680     createContacts();
   796     createContacts();
   681 
   797 
   682     m_finder->predictiveSearchQuery( QString("5") );
   798     m_finder->predictiveSearchQuery( QString("5") );
   683     QCOMPARE( m_finder->resultsCount(), 7 );
   799     QCOMPARE( m_finder->resultsCount(), 7 );
   701     
   817     
   702 }
   818 }
   703 
   819 
   704 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsPhoneNumberMatch()
   820 void ST_LogsCntFinder::testPredictiveSearchQueryLogsContactsPhoneNumberMatch()
   705 {
   821 {
       
   822     NOT_EXEC_IF_NOCNTS_SET;
   706     createHistoryEvents();
   823     createHistoryEvents();
   707     createContacts();
   824     createContacts();
   708 
   825 
   709     m_finder->predictiveSearchQuery( QString("9") );
   826     m_finder->predictiveSearchQuery( QString("9") );
   710     QCOMPARE( m_finder->resultsCount(), 6 ); //3 history + 3 contacts
   827     QCOMPARE( m_finder->resultsCount(), 6 ); //3 history + 3 contacts
   718 
   835 
   719 
   836 
   720 // Test query limit is 15, the 16th digit is ignored
   837 // Test query limit is 15, the 16th digit is ignored
   721 void ST_LogsCntFinder::testPredictiveSearchQueryLimit()
   838 void ST_LogsCntFinder::testPredictiveSearchQueryLimit()
   722 {
   839 {
       
   840     NOT_EXEC_IF_NOCNTS_SET;
   723     createContacts();
   841     createContacts();
   724 
   842 
   725     // 9 digits
   843     // 9 digits
   726     m_finder->predictiveSearchQuery( QString("227264583") );
   844     m_finder->predictiveSearchQuery( QString("227264583") );
   727     QCOMPARE( m_finder->resultsCount(), 1 );
   845     QCOMPARE( m_finder->resultsCount(), 1 );
   751     QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Baraniktestteste"));
   869     QCOMPARE(m_finder->resultAt(0).lastName().at(0).text(), QString("Baraniktestteste"));
   752 }
   870 }
   753 
   871 
   754 void ST_LogsCntFinder::testQueryOrder()
   872 void ST_LogsCntFinder::testQueryOrder()
   755 {
   873 {
       
   874     NOT_EXEC_IF_NOCNTS_SET;
       
   875     
   756     createContactsForQueryOrder();
   876     createContactsForQueryOrder();
   757 
   877 
   758     m_finder->predictiveSearchQuery( QString("7") );
   878     m_finder->predictiveSearchQuery( QString("7") );
   759     QCOMPARE( m_finder->resultsCount(), 8 );
   879     QCOMPARE( m_finder->resultsCount(), 8 );
   760     
   880     
   783     QCOMPARE(m_finder->resultAt(7).lastName().at(0).text(), QString("Yadira"));
   903     QCOMPARE(m_finder->resultAt(7).lastName().at(0).text(), QString("Yadira"));
   784 }
   904 }
   785 
   905 
   786 void ST_LogsCntFinder::testContactWithSpecialChars()
   906 void ST_LogsCntFinder::testContactWithSpecialChars()
   787 {
   907 {
       
   908     NOT_EXEC_IF_NOCNTS_SET;
       
   909     
   788     //Hannu%
   910     //Hannu%
   789     //%Hannu
   911     //%Hannu
   790     createContactsWithSpecialChars();
   912     createContactsWithSpecialChars();
   791     
   913     
   792     m_finder->predictiveSearchQuery( QString("4") );
   914     m_finder->predictiveSearchQuery( QString("4") );
   814     
   936     
   815     m_finder->predictiveSearchQuery( QString("1") );
   937     m_finder->predictiveSearchQuery( QString("1") );
   816     QCOMPARE( m_finder->resultsCount(), 1 );
   938     QCOMPARE( m_finder->resultsCount(), 1 );
   817     CHECK_RESULTS( 1, "%Hannu", "", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   939     CHECK_RESULTS( 1, "%Hannu", "", 1 ); //SET: cache size, CHECK: 1. result fn, 1. result ln, highlights 
   818     
   940     
   819     
   941 }
   820 }
   942 
   821