diff -r acd4e87b24b4 -r 2f0af9ba7665 logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivelatin12keytranslator.cpp --- a/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivelatin12keytranslator.cpp Fri Sep 17 16:47:32 2010 +0300 +++ b/logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictivelatin12keytranslator.cpp Fri Oct 15 14:47:48 2010 +0300 @@ -33,8 +33,9 @@ void UT_LogsPredictiveLatin12KeyTranslator::init() { - mTranslator = new LogsPredictiveLatin12KeyTranslator( - HbInputSettingProxy::instance()->globalInputLanguage() ); + mTranslator = + new LogsPredictiveLatin12KeyTranslator( + LogsPredictiveTranslator::currentLanguage() ); } void UT_LogsPredictiveLatin12KeyTranslator::cleanup() @@ -52,90 +53,90 @@ void UT_LogsPredictiveLatin12KeyTranslator::testTranslateText() { - QVERIFY( mTranslator->translateText( QString( "Nokia" ) ) == QString( "66542" ) ); - QVERIFY( mTranslator->translateText( QString( "Aarne" ) ) == QString( "22763" ) ); - QVERIFY( mTranslator->translateText( QString( "Bertta" ) ) == QString( "237882" ) ); - QVERIFY( mTranslator->translateText( QString( "Celsius" ) ) == QString( "2357487" ) ); - QVERIFY( mTranslator->translateText( QString( "Daavid" ) ) == QString( "322843" ) ); - QVERIFY( mTranslator->translateText( QString( "Eemeli" ) ) == QString( "336354" ) ); - QVERIFY( mTranslator->translateText( QString( "Faarao" ) ) == QString( "322726" ) ); - QVERIFY( mTranslator->translateText( QString( "Gideon" ) ) == QString( "443366" ) ); - QVERIFY( mTranslator->translateText( QString( "Heikki" ) ) == QString( "434554" ) ); - QVERIFY( mTranslator->translateText( QString( "Iivari" ) ) == QString( "448274" ) ); - QVERIFY( mTranslator->translateText( QString( "Jussi" ) ) == QString( "58774" ) ); - QVERIFY( mTranslator->translateText( QString( "Kalle" ) ) == QString( "52553" ) ); - QVERIFY( mTranslator->translateText( QString( "Lauri" ) ) == QString( "52874" ) ); - QVERIFY( mTranslator->translateText( QString( "Matti" ) ) == QString( "62884" ) ); - QVERIFY( mTranslator->translateText( QString( "Niilo" ) ) == QString( "64456" ) ); - QVERIFY( mTranslator->translateText( QString( "Otto" ) ) == QString( "6886" ) ); - QVERIFY( mTranslator->translateText( QString( "Paavo" ) ) == QString( "72286" ) ); - QVERIFY( mTranslator->translateText( QString( "Kuu" ) ) == QString( "588" ) ); - QVERIFY( mTranslator->translateText( QString( "Risto" ) ) == QString( "74786" ) ); - QVERIFY( mTranslator->translateText( QString( "Sakari" ) ) == QString( "725274" ) ); - QVERIFY( mTranslator->translateText( QString( "Tyyne" ) ) == QString( "89963" ) ); - QVERIFY( mTranslator->translateText( QString( "Urho" ) ) == QString( "8746" ) ); - QVERIFY( mTranslator->translateText( QString( "Vihtori" ) ) == QString( "8448674" ) ); - QVERIFY( mTranslator->translateText( QString( "Wiski" ) ) == QString( "94754" ) ); - QVERIFY( mTranslator->translateText( QString( "Yrjö" ) ) == QString( "9756" ) ); - QVERIFY( mTranslator->translateText( QString( "Tseta" ) ) == QString( "87382" ) ); - QVERIFY( mTranslator->translateText( QString( "Åke" ) ) == QString( "253" ) ); - QVERIFY( mTranslator->translateText( QString( "Äiti" ) ) == QString( "2484" ) ); - QVERIFY( mTranslator->translateText( QString( "Öljy" ) ) == QString( "6559" ) ); - QVERIFY( mTranslator->translateText( QString( "Adam" ) ) == QString( "2326" ) ); - QVERIFY( mTranslator->translateText( QString( "Bertil" ) ) == QString( "237845" ) ); - QVERIFY( mTranslator->translateText( QString( "Cesar" ) ) == QString( "23727" ) ); - QVERIFY( mTranslator->translateText( QString( "David" ) ) == QString( "32843" ) ); - QVERIFY( mTranslator->translateText( QString( "Erik" ) ) == QString( "3745" ) ); - QVERIFY( mTranslator->translateText( QString( "Filip" ) ) == QString( "34547" ) ); - QVERIFY( mTranslator->translateText( QString( "Gustav" ) ) == QString( "487828" ) ); - QVERIFY( mTranslator->translateText( QString( "Helge" ) ) == QString( "43543" ) ); - QVERIFY( mTranslator->translateText( QString( "Ivar" ) ) == QString( "4827" ) ); - QVERIFY( mTranslator->translateText( QString( "Johan" ) ) == QString( "56426" ) ); - QVERIFY( mTranslator->translateText( QString( "Kalle" ) ) == QString( "52553" ) ); - QVERIFY( mTranslator->translateText( QString( "Ludvig" ) ) == QString( "583844" ) ); - QVERIFY( mTranslator->translateText( QString( "Martin" ) ) == QString( "627846" ) ); - QVERIFY( mTranslator->translateText( QString( "Niklas" ) ) == QString( "645527" ) ); - QVERIFY( mTranslator->translateText( QString( "Olof" ) ) == QString( "6563" ) ); - QVERIFY( mTranslator->translateText( QString( "Petter" ) ) == QString( "738837" ) ); - QVERIFY( mTranslator->translateText( QString( "Quintus" ) ) == QString( "7846887" ) ); - QVERIFY( mTranslator->translateText( QString( "Rudolf" ) ) == QString( "783653" ) ); - QVERIFY( mTranslator->translateText( QString( "Sigurd" ) ) == QString( "744873" ) ); - QVERIFY( mTranslator->translateText( QString( "Tore" ) ) == QString( "8673" ) ); - QVERIFY( mTranslator->translateText( QString( "Urban" ) ) == QString( "87226" ) ); - QVERIFY( mTranslator->translateText( QString( "Viktor" ) ) == QString( "845867" ) ); - QVERIFY( mTranslator->translateText( QString( "Wilhelm" ) ) == QString( "9454356" ) ); - QVERIFY( mTranslator->translateText( QString( "Xerxes" ) ) == QString( "937937" ) ); - QVERIFY( mTranslator->translateText( QString( "Yngve" ) ) == QString( "96483" ) ); - QVERIFY( mTranslator->translateText( QString( "Zäta" ) ) == QString( "9282" ) ); - QVERIFY( mTranslator->translateText( QString( "Ärlig" ) ) == QString( "27544" ) ); - QVERIFY( mTranslator->translateText( QString( "Östen" ) ) == QString( "67836" ) ); - QVERIFY( mTranslator->translateText( QString( "Alpha" ) ) == QString( "25742" ) ); - QVERIFY( mTranslator->translateText( QString( "Bravo" ) ) == QString( "27286" ) ); - QVERIFY( mTranslator->translateText( QString( "Charlie" ) ) == QString( "2427543" ) ); - QVERIFY( mTranslator->translateText( QString( "Delta" ) ) == QString( "33582" ) ); - QVERIFY( mTranslator->translateText( QString( "Echo" ) ) == QString( "3246" ) ); - QVERIFY( mTranslator->translateText( QString( "Foxtrot" ) ) == QString( "3698768" ) ); - QVERIFY( mTranslator->translateText( QString( "Golf" ) ) == QString( "4653" ) ); - QVERIFY( mTranslator->translateText( QString( "Hotel" ) ) == QString( "46835" ) ); - QVERIFY( mTranslator->translateText( QString( "India" ) ) == QString( "46342" ) ); - QVERIFY( mTranslator->translateText( QString( "Juliet" ) ) == QString( "585438" ) ); - QVERIFY( mTranslator->translateText( QString( "Kilo" ) ) == QString( "5456" ) ); - QVERIFY( mTranslator->translateText( QString( "Lima" ) ) == QString( "5462" ) ); - QVERIFY( mTranslator->translateText( QString( "Mike" ) ) == QString( "6453" ) ); - QVERIFY( mTranslator->translateText( QString( "November" ) ) == QString( "66836237" ) ); - QVERIFY( mTranslator->translateText( QString( "Oscar" ) ) == QString( "67227" ) ); - QVERIFY( mTranslator->translateText( QString( "Papa" ) ) == QString( "7272" ) ); - QVERIFY( mTranslator->translateText( QString( "Quebec" ) ) == QString( "783232" ) ); - QVERIFY( mTranslator->translateText( QString( "Romeo" ) ) == QString( "76636" ) ); - QVERIFY( mTranslator->translateText( QString( "Sierra" ) ) == QString( "743772" ) ); - QVERIFY( mTranslator->translateText( QString( "Tanga" ) ) == QString( "82642" ) ); - QVERIFY( mTranslator->translateText( QString( "Uniform" ) ) == QString( "8643676" ) ); - QVERIFY( mTranslator->translateText( QString( "Vârlan" ) ) == QString( "827526" ) ); - QVERIFY( mTranslator->translateText( QString( "Victor" ) ) == QString( "842867" ) ); - QVERIFY( mTranslator->translateText( QString( "Whiskey" ) ) == QString( "9447539" ) ); - QVERIFY( mTranslator->translateText( QString( "Xray" ) ) == QString( "9729" ) ); - QVERIFY( mTranslator->translateText( QString( "Yankee" ) ) == QString( "926533" ) ); - QVERIFY( mTranslator->translateText( QString( "Zulu" ) ) == QString( "9858" ) ); + QCOMPARE( mTranslator->translateText( QString( "Nokia" ) ), QString( "66542" ) ); + QCOMPARE( mTranslator->translateText( QString( "Aarne" ) ), QString( "22763" ) ); + QCOMPARE( mTranslator->translateText( QString( "Bertta" ) ), QString( "237882" ) ); + QCOMPARE( mTranslator->translateText( QString( "Celsius" ) ), QString( "2357487" ) ); + QCOMPARE( mTranslator->translateText( QString( "Daavid" ) ), QString( "322843" ) ); + QCOMPARE( mTranslator->translateText( QString( "Eemeli" ) ), QString( "336354" ) ); + QCOMPARE( mTranslator->translateText( QString( "Faarao" ) ), QString( "322726" ) ); + QCOMPARE( mTranslator->translateText( QString( "Gideon" ) ), QString( "443366" ) ); + QCOMPARE( mTranslator->translateText( QString( "Heikki" ) ), QString( "434554" ) ); + QCOMPARE( mTranslator->translateText( QString( "Iivari" ) ), QString( "448274" ) ); + QCOMPARE( mTranslator->translateText( QString( "Jussi" ) ), QString( "58774" ) ); + QCOMPARE( mTranslator->translateText( QString( "Kalle" ) ), QString( "52553" ) ); + QCOMPARE( mTranslator->translateText( QString( "Lauri" ) ), QString( "52874" ) ); + QCOMPARE( mTranslator->translateText( QString( "Matti" ) ), QString( "62884" ) ); + QCOMPARE( mTranslator->translateText( QString( "Niilo" ) ), QString( "64456" ) ); + QCOMPARE( mTranslator->translateText( QString( "Otto" ) ), QString( "6886" ) ); + QCOMPARE( mTranslator->translateText( QString( "Paavo" ) ), QString( "72286" ) ); + QCOMPARE( mTranslator->translateText( QString( "Kuu" ) ), QString( "588" ) ); + QCOMPARE( mTranslator->translateText( QString( "Risto" ) ), QString( "74786" ) ); + QCOMPARE( mTranslator->translateText( QString( "Sakari" ) ), QString( "725274" ) ); + QCOMPARE( mTranslator->translateText( QString( "Tyyne" ) ), QString( "89963" ) ); + QCOMPARE( mTranslator->translateText( QString( "Urho" ) ), QString( "8746" ) ); + QCOMPARE( mTranslator->translateText( QString( "Vihtori" ) ), QString( "8448674" ) ); + QCOMPARE( mTranslator->translateText( QString( "Wiski" ) ), QString( "94754" ) ); + QCOMPARE( mTranslator->translateText( QString( "Yrjö" ) ), QString( "9756" ) ); + QCOMPARE( mTranslator->translateText( QString( "Tseta" ) ), QString( "87382" ) ); + QCOMPARE( mTranslator->translateText( QString( "Åke" ) ), QString( "253" ) ); + QCOMPARE( mTranslator->translateText( QString( "Äiti" ) ), QString( "2484" ) ); + QCOMPARE( mTranslator->translateText( QString( "Öljy" ) ), QString( "6559" ) ); + QCOMPARE( mTranslator->translateText( QString( "Adam" ) ), QString( "2326" ) ); + QCOMPARE( mTranslator->translateText( QString( "Bertil" ) ), QString( "237845" ) ); + QCOMPARE( mTranslator->translateText( QString( "Cesar" ) ), QString( "23727" ) ); + QCOMPARE( mTranslator->translateText( QString( "David" ) ), QString( "32843" ) ); + QCOMPARE( mTranslator->translateText( QString( "Erik" ) ), QString( "3745" ) ); + QCOMPARE( mTranslator->translateText( QString( "Filip" ) ), QString( "34547" ) ); + QCOMPARE( mTranslator->translateText( QString( "Gustav" ) ), QString( "487828" ) ); + QCOMPARE( mTranslator->translateText( QString( "Helge" ) ), QString( "43543" ) ); + QCOMPARE( mTranslator->translateText( QString( "Ivar" ) ), QString( "4827" ) ); + QCOMPARE( mTranslator->translateText( QString( "Johan" ) ), QString( "56426" ) ); + QCOMPARE( mTranslator->translateText( QString( "Kalle" ) ), QString( "52553" ) ); + QCOMPARE( mTranslator->translateText( QString( "Ludvig" ) ), QString( "583844" ) ); + QCOMPARE( mTranslator->translateText( QString( "Martin" ) ), QString( "627846" ) ); + QCOMPARE( mTranslator->translateText( QString( "Niklas" ) ), QString( "645527" ) ); + QCOMPARE( mTranslator->translateText( QString( "Olof" ) ), QString( "6563" ) ); + QCOMPARE( mTranslator->translateText( QString( "Petter" ) ), QString( "738837" ) ); + QCOMPARE( mTranslator->translateText( QString( "Quintus" ) ), QString( "7846887" ) ); + QCOMPARE( mTranslator->translateText( QString( "Rudolf" ) ), QString( "783653" ) ); + QCOMPARE( mTranslator->translateText( QString( "Sigurd" ) ), QString( "744873" ) ); + QCOMPARE( mTranslator->translateText( QString( "Tore" ) ), QString( "8673" ) ); + QCOMPARE( mTranslator->translateText( QString( "Urban" ) ), QString( "87226" ) ); + QCOMPARE( mTranslator->translateText( QString( "Viktor" ) ), QString( "845867" ) ); + QCOMPARE( mTranslator->translateText( QString( "Wilhelm" ) ), QString( "9454356" ) ); + QCOMPARE( mTranslator->translateText( QString( "Xerxes" ) ), QString( "937937" ) ); + QCOMPARE( mTranslator->translateText( QString( "Yngve" ) ), QString( "96483" ) ); + QCOMPARE( mTranslator->translateText( QString( "Zäta" ) ), QString( "9282" ) ); + QCOMPARE( mTranslator->translateText( QString( "Ärlig" ) ), QString( "27544" ) ); + QCOMPARE( mTranslator->translateText( QString( "Östen" ) ), QString( "67836" ) ); + QCOMPARE( mTranslator->translateText( QString( "Alpha" ) ), QString( "25742" ) ); + QCOMPARE( mTranslator->translateText( QString( "Bravo" ) ), QString( "27286" ) ); + QCOMPARE( mTranslator->translateText( QString( "Charlie" ) ), QString( "2427543" ) ); + QCOMPARE( mTranslator->translateText( QString( "Delta" ) ), QString( "33582" ) ); + QCOMPARE( mTranslator->translateText( QString( "Echo" ) ), QString( "3246" ) ); + QCOMPARE( mTranslator->translateText( QString( "Foxtrot" ) ), QString( "3698768" ) ); + QCOMPARE( mTranslator->translateText( QString( "Golf" ) ), QString( "4653" ) ); + QCOMPARE( mTranslator->translateText( QString( "Hotel" ) ), QString( "46835" ) ); + QCOMPARE( mTranslator->translateText( QString( "India" ) ), QString( "46342" ) ); + QCOMPARE( mTranslator->translateText( QString( "Juliet" ) ), QString( "585438" ) ); + QCOMPARE( mTranslator->translateText( QString( "Kilo" ) ), QString( "5456" ) ); + QCOMPARE( mTranslator->translateText( QString( "Lima" ) ), QString( "5462" ) ); + QCOMPARE( mTranslator->translateText( QString( "Mike" ) ), QString( "6453" ) ); + QCOMPARE( mTranslator->translateText( QString( "November" ) ), QString( "66836237" ) ); + QCOMPARE( mTranslator->translateText( QString( "Oscar" ) ), QString( "67227" ) ); + QCOMPARE( mTranslator->translateText( QString( "Papa" ) ), QString( "7272" ) ); + QCOMPARE( mTranslator->translateText( QString( "Quebec" ) ), QString( "783232" ) ); + QCOMPARE( mTranslator->translateText( QString( "Romeo" ) ), QString( "76636" ) ); + QCOMPARE( mTranslator->translateText( QString( "Sierra" ) ), QString( "743772" ) ); + QCOMPARE( mTranslator->translateText( QString( "Tanga" ) ), QString( "82642" ) ); + QCOMPARE( mTranslator->translateText( QString( "Uniform" ) ), QString( "8643676" ) ); + QCOMPARE( mTranslator->translateText( QString( "Vârlan" ) ), QString( "827526" ) ); + QCOMPARE( mTranslator->translateText( QString( "Victor" ) ), QString( "842867" ) ); + QCOMPARE( mTranslator->translateText( QString( "Whiskey" ) ), QString( "9447539" ) ); + QCOMPARE( mTranslator->translateText( QString( "Xray" ) ), QString( "9729" ) ); + QCOMPARE( mTranslator->translateText( QString( "Yankee" ) ), QString( "926533" ) ); + QCOMPARE( mTranslator->translateText( QString( "Zulu" ) ), QString( "9858" ) ); QString uni; uni.append(QChar(0x0219)); @@ -155,17 +156,146 @@ } -void UT_LogsPredictiveLatin12KeyTranslator::testTranslatePattern() +void UT_LogsPredictiveLatin12KeyTranslator::testPreparePattern() { - QVERIFY( mTranslator->translatePattern( QString( "1234567890" ) ) == QString( "1234567890" ) ); - QCOMPARE( mTranslator->translatePattern( QString( "+1234567890" ) ) ,QString( "*1234567890" ) ); - QCOMPARE( mTranslator->translatePattern( QString( "*1234567890" ) ) ,QString( "*1234567890" ) ); - QCOMPARE( mTranslator->translatePattern( QString( "#1234567890" ) ), QString( "#1234567890" ) ); - QCOMPARE( mTranslator->translatePattern( QString( "++##" ) ), QString( "**##" ) ); - QCOMPARE( mTranslator->translatePattern( QString( "-+##" ) ), QString( "1*##" ) ); - QCOMPARE( mTranslator->translatePattern( QString( "/+##" ) ), QString( "1*##" ) ); - QCOMPARE( mTranslator->translatePattern( QString( "*+##" ) ), QString( "**##" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "1234567890" ) ), QString( "1234567890" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "+1234567890" ) ) ,QString( "*1234567890" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "*1234567890" ) ) ,QString( "*1234567890" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "#1234567890" ) ), QString( "#1234567890" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "++##" ) ), QString( "**##" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "-+##" ) ), QString( "1*##" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "/+##" ) ), QString( "1*##" ) ); + QCOMPARE( mTranslator->preparePattern( QString( "*+##" ) ), QString( "**##" ) ); + +} + +void UT_LogsPredictiveLatin12KeyTranslator::testSplitPattern() +{ + QString car; + QString cdr; + + mTranslator->splitPattern( QString( "122" ), car, cdr ); + QCOMPARE( car, QString("122" ) ); + QCOMPARE( cdr, QString("" ) ); + + mTranslator->splitPattern( QString( "01220" ), car, cdr ); + QCOMPARE( car, QString("01220" ) ); + QCOMPARE( cdr, QString("" ) ); + + mTranslator->splitPattern( QString( "0122020" ), car, cdr ); + QCOMPARE( car, QString("0122" ) ); + QCOMPARE( cdr, QString("20" ) ); + + mTranslator->splitPattern( QString( "012200020" ), car, cdr ); + QCOMPARE( car, QString("0122" ) ); + QCOMPARE( cdr, QString("20" ) ); + + mTranslator->splitPattern( QString( "0122050020" ), car, cdr ); + QCOMPARE( car, QString("0122" ) ); + QCOMPARE( cdr, QString("50020" ) ); + + mTranslator->splitPattern( QString( "00000" ), car, cdr ); + QCOMPARE( car, QString("00000" ) ); + QCOMPARE( cdr, QString("" ) ); + + mTranslator->splitPattern( QString( "0" ), car, cdr ); + QCOMPARE( car, QString("0" ) ); + QCOMPARE( cdr, QString("" ) ); + + mTranslator->splitPattern( QString( "" ), car, cdr ); + QCOMPARE( car, QString("" ) ); + QCOMPARE( cdr, QString("" ) ); + +} + +void UT_LogsPredictiveLatin12KeyTranslator::testTrimPattern() +{ + QString pattern; + + pattern = "1"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "1") ); + + pattern = "122"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") ); + + pattern = "0122"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") ); + + pattern = "0122"; + QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "0122") ); + + pattern = "1220"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") ); + + pattern = "1220"; + QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "122") ); + + pattern = "01220"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") ); + + pattern = "01220"; + QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "0122") ); + + pattern = "012020"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "1202") ); + + pattern = "012020"; + QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "01202") ); + + pattern = "000120200"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "1202") ); + + pattern = "00012000200"; + QCOMPARE( mTranslator->trimPattern( pattern , false), QString( "120002") ); + + pattern = "0001200024500"; + QCOMPARE( mTranslator->trimPattern( pattern , false), QString( "12000245") ); + + pattern = "000"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "0") ); + + pattern = "0"; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "0") ); + + pattern = ""; + QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "") ); + + +} + +void UT_LogsPredictiveLatin12KeyTranslator::testPatternTokens() +{ + + QCOMPARE( mTranslator->patternTokens( QString("122" ) ).length(), 1 ); + QCOMPARE( mTranslator->patternTokens( QString("122" ) )[0], QString("122" ) ); + QCOMPARE( mTranslator->patternTokens( QString("01220" ) ).length(), 1 ); + QCOMPARE( mTranslator->patternTokens( QString("01220" ) )[0], QString("01220" ) ); + QCOMPARE( mTranslator->patternTokens( QString("102" ) ).length(), 2 ); + QCOMPARE( mTranslator->patternTokens( QString("102" ) )[0], QString("1" ) ); + QCOMPARE( mTranslator->patternTokens( QString("102" ) )[1], QString("2" ) ); + QCOMPARE( mTranslator->patternTokens( QString("0010200" ) ).length(), 2 ); + QCOMPARE( mTranslator->patternTokens( QString("0010200" ) )[0], QString("001" ) ); + QCOMPARE( mTranslator->patternTokens( QString("0010200" ) )[1], QString("200" ) ); + QCOMPARE( mTranslator->patternTokens( QString("0010200564760635" ) ).length(), 2 ); + QCOMPARE( mTranslator->patternTokens( QString("0010200564760635" ) )[0], QString("001" ) ); + QCOMPARE( mTranslator->patternTokens( QString("0010200564760635" ) )[1], QString("200564760635" ) ); + QCOMPARE( mTranslator->patternTokens( QString("0" ) ).length(), 1 ); + QCOMPARE( mTranslator->patternTokens( QString("0" ) )[0], QString("0" ) ); + QCOMPARE( mTranslator->patternTokens( QString("000" ) ).length(), 1 ); + QCOMPARE( mTranslator->patternTokens( QString("000" ) )[0], QString("000" ) ); + QCOMPARE( mTranslator->patternTokens( QString("001" ) ).length(), 1 ); + QCOMPARE( mTranslator->patternTokens( QString("001" ) )[0], QString("001" ) ); + +} + +void UT_LogsPredictiveLatin12KeyTranslator::testHasPatternSeparators() +{ + QVERIFY( !mTranslator->hasPatternSeparators( QString("122" ) ) ); + QVERIFY( mTranslator->hasPatternSeparators( QString("1022" ) ) ); + QCOMPARE( mTranslator->hasPatternSeparators( QString("0010200" ) ), 5 ); + QCOMPARE( mTranslator->hasPatternSeparators( QString("0000" ) ), 4 ); + QCOMPARE( mTranslator->hasPatternSeparators( QString("345345" ) ), 0 ); } @@ -173,22 +303,49 @@ { bool ok; - QCOMPARE( mTranslator->translateChar( QChar('+'), ok ), QChar('*') ); - QCOMPARE( mTranslator->translateChar( QChar('*'), ok ), QChar('*') ); - QCOMPARE( mTranslator->translateChar( QChar('#'), ok ), QChar('#') ); - QCOMPARE( mTranslator->translateChar( QChar('0'), ok ), QChar('0') ); - QCOMPARE( mTranslator->translateChar( QChar('a'), ok ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('A'), ok ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('1'), ok ), QChar('1') ); - QCOMPARE( mTranslator->translateChar( QChar('ä'), ok ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('Ä'), ok ), QChar('2') ); - QCOMPARE( mTranslator->translateChar( QChar('-'), ok ), QChar('1') ); - QCOMPARE( mTranslator->translateChar( QChar('%'), ok ), QChar('1') ); + QCOMPARE( mTranslator->translateChar( QChar('+'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('*'), ok ), QString('*') ); + + QCOMPARE( mTranslator->translateChar( QChar('#'), ok ), QString('#') ); + QCOMPARE( mTranslator->translateChar( QChar('0'), ok ), QString('0') ); + QCOMPARE( mTranslator->translateChar( QChar('a'), ok ), QString('2') ); + QCOMPARE( mTranslator->translateChar( QChar('A'), ok ), QString('2') ); + QCOMPARE( mTranslator->translateChar( QChar('1'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('ä'), ok ), QString('2') ); + QCOMPARE( mTranslator->translateChar( QChar('Ä'), ok ), QString('2') ); + QCOMPARE( mTranslator->translateChar( QChar('?'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('!'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('\''), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('"'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('-'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('('), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar(')'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('@'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('/'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar(':'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar('_'), ok ), QString('1') ); + QCOMPARE( mTranslator->translateChar( QChar(';'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('&'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('%'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('='), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('<'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('>'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('['), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar(']'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('{'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('}'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('\\'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('~'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('^'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('¡'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('¿'), ok ), QString('*') ); + QCOMPARE( mTranslator->translateChar( QChar('|'), ok ), QString('*') ); + // Romanian unicode character "sh" - QCOMPARE( mTranslator->translateChar( QChar(0x0219), ok ), QChar('7') ); + QCOMPARE( mTranslator->translateChar( QChar(0x0219), ok ), QString('7') ); // Chinese unicode character QChar chn(0x4E0F); - QCOMPARE( mTranslator->translateChar( QChar(0x4E0F), ok ), QChar() ); + QCOMPARE( mTranslator->translateChar( QChar(0x4E0F), ok ), QString() ); QVERIFY( !ok );