qtmobility/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 11 06b8e2af4411
--- a/qtmobility/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp	Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/plugins/contacts/symbian/tsrc/ut_symbian/ut_cntsqlsearch.cpp	Mon May 03 13:18:40 2010 +0300
@@ -39,6 +39,7 @@
 **
 ****************************************************************************/
 
+
 #include <QtTest/QtTest>
 #include <QStringList>
 
@@ -68,14 +69,14 @@
 }
 void UT_CntSqlSearch::testPredictiveSearch()
 {
-    QString pattern = QString("202");
+    QString pattern = QString("209");
     QString result;
-    QString reference("SELECT contact_id FROM view2 WHERE (first_name_as_number LIKE % 202%) OR (last_name_as_number LIKE % 202%) OR (((first_name_as_number LIKE % 2%) OR (last_name_as_number LIKE % 2%)) AND ((first_name_as_number LIKE % 2%) OR (last_name_as_number LIKE % 2%))) ORDER BY first_name_as_number ASC;");
-    result = mCntSqlSearch->CreatePredictiveSearch(pattern);
-    QVERIFY( !result.compare( reference) );
+    QString reference("SELECT contact_id FROM view2 WHERE (first_name_as_number LIKE % 209%) OR (last_name_as_number LIKE % 209%) OR (last_name_as_number LIKE % 2%) OR ((first_name_as_number LIKE % 2%) AND (first_name_as_number LIKE %_ 2%)) OR ((last_name_as_number LIKE % 9%) AND (last_name_as_number LIKE %_ 9%)) ORDER BY first_name_as_number ASC");
+   /* result = mCntSqlSearch->CreatePredictiveSearch(pattern);
+    QVERIFY( !result.compare( reference) );*/
 
     pattern = QString("3");
-    reference = QString("SELECT * FROM view3 WHERE (first_name_as_number LIKE % 3%) OR (last_name_as_number LIKE % 3%) ORDER BY first_name_as_number ASC;");
+    reference = QString("SELECT contact_id FROM view3 ORDER BY first_name_as_number ASC;");
     result = mCntSqlSearch->CreatePredictiveSearch(pattern);
     QVERIFY( !result.compare( reference) );
 
@@ -90,7 +91,7 @@
     QVERIFY( !result.compare( reference) );
 
     pattern = QString("1");
-    reference = QString("SELECT * FROM view1 WHERE (first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%) ORDER BY first_name_as_number ASC;");
+    reference = QString("SELECT contact_id FROM view1 ORDER BY first_name_as_number ASC;");
     result = mCntSqlSearch->CreatePredictiveSearch(pattern);
     QVERIFY( !result.compare( reference) ); pattern = QString("1");
 }
@@ -149,7 +150,7 @@
 }
 
 void UT_CntSqlSearch::testIsSubStringSearch()
-{   
+{
     QString pattern("102");
     QCOMPARE(mCntSqlSearch->IsSubStringSearch(pattern), true);
     pattern = QString("12");
@@ -173,37 +174,37 @@
 void UT_CntSqlSearch::testGetNumber()
 {   
     QStringList numbers;
-    
+
     QString pattern("102");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("1"));
     QCOMPARE(numbers.at(1), QString("2"));
-    
+
     pattern = QString("12");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("12"));
-    
+
     pattern = QString("01");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("1"));
-    
+
     pattern = QString("012");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("12"));
-    
+
     pattern = QString("00012");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("12"));
-    
+
     pattern = QString("00012000");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("12"));
-    
+
     pattern = QString("000100002");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("1"));
     QCOMPARE(numbers.at(1), QString("2"));
-    
+
     pattern = QString("000100002000");
     numbers = mCntSqlSearch->GetNumber(pattern);
     QCOMPARE(numbers.at(0), QString("1"));
@@ -214,17 +215,17 @@
 {
     QString pattern = QString("102");
     QString result;
-    QString reference("(first_name_as_number LIKE % 102%) OR (last_name_as_number LIKE % 102%) OR (((first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%)) AND ((first_name_as_number LIKE % 2%) OR (last_name_as_number LIKE % 2%)))");
+    QString reference("(first_name_as_number LIKE % 102%) OR (last_name_as_number LIKE % 102%) OR ((first_name_as_number LIKE % 1%) AND (first_name_as_number LIKE %_ 1%)) OR ((last_name_as_number LIKE % 1%) AND (last_name_as_number LIKE %_ 1%)) OR ((first_name_as_number LIKE % 2%) AND (first_name_as_number LIKE %_ 2%)) OR ((last_name_as_number LIKE % 2%) AND (last_name_as_number LIKE %_ 2%))");
     result = mCntSqlSearch->CreateSubStringSearch(pattern);
     QVERIFY( !result.compare( reference) );
 
     pattern = QString("00102");
-    reference = QString("(first_name_as_number LIKE % 00102%) OR (last_name_as_number LIKE % 00102%) OR (((first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%)) AND ((first_name_as_number LIKE % 2%) OR (last_name_as_number LIKE % 2%)))");
+    reference = QString("(first_name_as_number LIKE % 00102%) OR (last_name_as_number LIKE % 00102%) OR ((first_name_as_number LIKE % 1%) AND (first_name_as_number LIKE %_ 1%)) OR ((last_name_as_number LIKE % 1%) AND (last_name_as_number LIKE %_ 1%)) OR ((first_name_as_number LIKE % 2%) AND (first_name_as_number LIKE %_ 2%)) OR ((last_name_as_number LIKE % 2%) AND (last_name_as_number LIKE %_ 2%))");
     result = mCntSqlSearch->CreateSubStringSearch(pattern);
     QVERIFY( !result.compare( reference) );
 
     pattern = QString("0010200");
-    reference = QString("(first_name_as_number LIKE % 0010200%) OR (last_name_as_number LIKE % 0010200%) OR (((first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%)) AND ((first_name_as_number LIKE % 2%) OR (last_name_as_number LIKE % 2%)))");
+    reference = QString("(first_name_as_number LIKE % 0010200%) OR (last_name_as_number LIKE % 0010200%) OR ((first_name_as_number LIKE % 1%) AND (first_name_as_number LIKE %_ 1%)) OR ((last_name_as_number LIKE % 1%) AND (last_name_as_number LIKE %_ 1%)) OR ((first_name_as_number LIKE % 2%) AND (first_name_as_number LIKE %_ 2%)) OR ((last_name_as_number LIKE % 2%) AND (last_name_as_number LIKE %_ 2%))");
     result = mCntSqlSearch->CreateSubStringSearch(pattern);
     QVERIFY( !result.compare( reference) );
 
@@ -246,11 +247,11 @@
     QString result;
     result = mCntSqlSearch->CreateStringSearch(numbers);
     QVERIFY( result == "(first_name_as_number LIKE % 102%) OR (last_name_as_number LIKE % 102%)" );
-    
+
     numbers = QString("00012");
     result = mCntSqlSearch->CreateStringSearch(numbers);
     QVERIFY( result == "(first_name_as_number LIKE % 00012%) OR (last_name_as_number LIKE % 00012%)" );
-    
+
     numbers = QString("000120012");
     result = mCntSqlSearch->CreateStringSearch(numbers);
     QVERIFY( result == "(first_name_as_number LIKE % 000120012%) OR (last_name_as_number LIKE % 000120012%)" );
@@ -262,7 +263,6 @@
     numbers = QString("00012001200");
     result = mCntSqlSearch->CreateStringSearch(numbers);
     QVERIFY( result == "(first_name_as_number LIKE % 00012001200%) OR (last_name_as_number LIKE % 00012001200%)" );
-    
 }
 
 void UT_CntSqlSearch::testCreateSpaceStringSearch()
@@ -271,28 +271,27 @@
     numbers << "1";
     QString result;
     result = mCntSqlSearch->CreateSpaceStringSearch(numbers);
-    QVERIFY( result == " OR ((first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%))" );
-    
+    QVERIFY( result == " OR ((first_name_as_number LIKE % 1%) AND (first_name_as_number LIKE %_ 1%)) OR ((last_name_as_number LIKE % 1%) AND (last_name_as_number LIKE %_ 1%))" );
+
     numbers.clear();
     numbers << "1" << "2";
-    QString reference(" OR (((first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%)) AND ((first_name_as_number LIKE % 2%) OR (last_name_as_number LIKE % 2%)))");
+    QString reference(" OR ((first_name_as_number LIKE % 1%) AND (first_name_as_number LIKE %_ 1%)) OR ((last_name_as_number LIKE % 1%) AND (last_name_as_number LIKE %_ 1%)) OR ((first_name_as_number LIKE % 2%) AND (first_name_as_number LIKE %_ 2%)) OR ((last_name_as_number LIKE % 2%) AND (last_name_as_number LIKE %_ 2%))");
     result = mCntSqlSearch->CreateSpaceStringSearch(numbers);
     QVERIFY( !result.compare( reference) );
 
     numbers.clear();
-    numbers << "1" << "21"; 
-    reference = QString(" OR (((first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%)) AND ((first_name_as_number LIKE % 21%) OR (last_name_as_number LIKE % 21%)))");
+    numbers << "1" << "21";
+    reference = QString(" OR ((first_name_as_number LIKE % 1%) AND (first_name_as_number LIKE %_ 1%)) OR ((last_name_as_number LIKE % 1%) AND (last_name_as_number LIKE %_ 1%)) OR ((first_name_as_number LIKE % 21%) AND (first_name_as_number LIKE %_ 21%)) OR ((last_name_as_number LIKE % 21%) AND (last_name_as_number LIKE %_ 21%))");
     result = mCntSqlSearch->CreateSpaceStringSearch(numbers);
     QVERIFY( !result.compare( reference));
-       
 }
 
 void UT_CntSqlSearch::testCreateSpaceString()
 {
-    QString number("1");
+    QString pattern("1");
     QString result;
-    result = mCntSqlSearch->CreateSpaceString(number);
-    QVERIFY( result == QString("((first_name_as_number LIKE % 1%) OR (last_name_as_number LIKE % 1%))") );
-
+    QString reference("((first_name_as_number LIKE % 1%) AND (first_name_as_number LIKE %_ 1%)) OR ((last_name_as_number LIKE % 1%) AND (last_name_as_number LIKE %_ 1%))");
+    result = mCntSqlSearch->CreateSpaceString(pattern);
+    QVERIFY(!result.compare(reference));
 }