lafagnosticuifoundation/uigraphicsutils/tef/t_phonenumberutils.cpp
changeset 0 2f259fa3e83a
child 18 0aa5fbdfbc30
equal deleted inserted replaced
-1:000000000000 0:2f259fa3e83a
       
     1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 /**
       
    17  @file
       
    18  @test
       
    19  @internalComponent - Internal Symbian test code 
       
    20 */
       
    21 
       
    22 
       
    23 #include "t_phonenumberutils.h"
       
    24 #include <eikenv.h>
       
    25 
       
    26 /**
       
    27    Constructor
       
    28  */	
       
    29 CT_PhoneNumberUtilsStep::CT_PhoneNumberUtilsStep()
       
    30 	{
       
    31 	// Call base class method to set up the human readable name for logging*/
       
    32 	SetTestStepName(KT_PhoneNumberUtilsStep);
       
    33 	}
       
    34 
       
    35 /**
       
    36    Destructor
       
    37  */
       
    38 CT_PhoneNumberUtilsStep::~CT_PhoneNumberUtilsStep()
       
    39 	{
       
    40 	}
       
    41 
       
    42 TVerdict CT_PhoneNumberUtilsStep::doTestStepL()
       
    43 	{
       
    44 	INFO_PRINTF1(_L("Test Started"));
       
    45 	__UHEAP_MARK;
       
    46 	RunTestCases();
       
    47 	__UHEAP_MARKEND;
       
    48 	INFO_PRINTF1(_L("Test Finished"));
       
    49 	return TestStepResult();
       
    50 	}
       
    51 
       
    52 void CT_PhoneNumberUtilsStep::RunTestCases()
       
    53 	{
       
    54 	SetTestStepID(_L("UIF-ETUL-0011"));
       
    55 	ParsePhoneNumberForPPN();
       
    56 	RecordTestResultL();
       
    57 	SetTestStepID(_L("UIF-ETUL-0012"));
       
    58 	ParsePhoneNumberForCCN();
       
    59 	RecordTestResultL();
       
    60 	SetTestStepID(_L("UIF-ETUL-0013"));
       
    61 	ParsePhoneNumberForSMSNumber();
       
    62 	RecordTestResultL();
       
    63 	SetTestStepID(_L("UIF-ETUL-0014"));
       
    64 	ParsePhoneNumberForPCN();
       
    65 	RecordTestResultL();
       
    66 	CloseTMSGraphicsStep();
       
    67 	}
       
    68 
       
    69 /**
       
    70    @SYMTestCaseID UIF-ETUL-0011
       
    71 
       
    72    @SYMREQ 7736
       
    73  
       
    74    @SYMTestCaseDesc Tests TulPhoneNumberUtils::Normalize() and  TulPhoneNumberUtils::IsValid() methods for 
       
    75    TulPhoneNumberUtils::EPlainPhoneNumber
       
    76   
       
    77    @SYMTestPriority High 
       
    78  
       
    79    @SYMTestStatus Implemented
       
    80   
       
    81    @SYMTestActions Calls TulPhoneNumberUtils::Normalize() and TulPhoneNumberUtils::IsValid() methods with 
       
    82    Valid and Invalid Plain Phone Number.
       
    83    
       
    84    @SYMTestExpectedResults The test checks whether
       
    85    1.  TulPhoneNumberUtils::Normalize() returns:
       
    86 	   a. ETrue for Valid Plain Phone Number and normalizes the given Phone Number and
       
    87 	   b. EFalse for Invalid Plain Phone Number. 
       
    88    2. TulPhoneNumberUtils::IsValid() returns:
       
    89    	   a. ETrue for Valid Plain Phone no.and 
       
    90    	   b. EFalse for Invalid Plain Phone no.
       
    91  */
       
    92 void CT_PhoneNumberUtilsStep::ParsePhoneNumberForPPN()
       
    93     {
       
    94 	INFO_PRINTF1(_L("Test to Parse PhoneNumber With Valid PlainPhoneNumber"));
       
    95     TBuf<50> number = _L("+46 345 34(34347) 42443 42"); // This should be a parseable Plain Phone Number
       
    96 	TEST(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPlainPhoneNumber));
       
    97 	INFO_PRINTF2(_L("Normalized Phone No. is %S"), &number);
       
    98 	
       
    99 	number = _L("0500 -4990		00"); // This should be a parseable Plain Phone Number
       
   100 	TEST(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPlainPhoneNumber));
       
   101  	INFO_PRINTF2(_L("Normalized Phone No. is %S"), &number);
       
   102 
       
   103  	INFO_PRINTF1(_L("Test to Validate Plain PhoneNumber"));
       
   104   	number = _L("+46 40 45656546"); // This should be Valid Plain Phone Number
       
   105     TEST(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPlainPhoneNumber));
       
   106 
       
   107     number = _L("46-40 45656546"); // This should be a Valid Plain Phone Number
       
   108     TEST((TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPlainPhoneNumber)));
       
   109 
       
   110   	INFO_PRINTF1(_L("Test to Parse PhoneNumber With Invalid PlainPhoneNumber"));
       
   111   	number = _L("p050-4872485"); // This should NOT be a parseable Plain Phone Number
       
   112 	TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPlainPhoneNumber)));
       
   113 
       
   114   	number = _L("+0?50-4872485"); // This should NOT be a parseable Plain Phone Number
       
   115 	TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPlainPhoneNumber)));
       
   116 
       
   117   	INFO_PRINTF1(_L("Parse phone no. with closing paranthesis at the first position of phone number"));
       
   118   	number = _L(")050-4872485"); // This should NOT be a parseable Plain Phone Number
       
   119 	TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPlainPhoneNumber)));
       
   120 
       
   121 	INFO_PRINTF1(_L("Parse phone no. with opening paranthesis at the last position of phone number"));
       
   122   	number = _L("050-4872485("); // This should NOT be a parseable Plain Phone Number
       
   123 	TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPlainPhoneNumber)));
       
   124 
       
   125   	number = _L("/050-4872485"); // This should NOT be a parseable Plain Phone Number
       
   126 	TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPlainPhoneNumber)));
       
   127     }
       
   128 
       
   129  /**
       
   130    @SYMTestCaseID UIF-ETUL-0012
       
   131 
       
   132    @SYMREQ 7736
       
   133  
       
   134    @SYMTestCaseDesc Tests TulPhoneNumberUtils::Normalize() and TulPhoneNumberUtils::IsValid() methods
       
   135    for TulPhoneNumberUtils::EContactCardNumber
       
   136   
       
   137    @SYMTestPriority High 
       
   138  
       
   139    @SYMTestStatus Implemented
       
   140   
       
   141    @SYMTestActions Calls TulPhoneNumberUtils::Normalize() method with Valid and Invalid Contact Card Number.
       
   142    Calls TulPhoneNumberUtils::IsValid() method with Valid and Invalid Contact Card Number.
       
   143    
       
   144    @SYMTestExpectedResults The test checks whether
       
   145    1. TulPhoneNumberUtils::Normalize() returns:
       
   146 		a. ETrue for Valid Contact Card Number and normalizes the given Contact Card Number.
       
   147 		b. EFalse for Invalid Contact Card Number.
       
   148    2. TulPhoneNumberUtils::IsValid() returns:
       
   149 	   a. ETrue for Valid Contact Card Number and 
       
   150 	   b. EFalse for Invalid Contact Card Number.
       
   151  */
       
   152  void CT_PhoneNumberUtilsStep::ParsePhoneNumberForCCN()
       
   153     {
       
   154   	INFO_PRINTF1(_L("Test to Parse PhoneNumber With Valid ContactCardNumber"));
       
   155   	TBuf<50> number = _L("*31*6(0)35/6546"); // This should be a parseable Contact Card Number
       
   156 	TEST(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EContactCardNumber));
       
   157 	INFO_PRINTF2(_L("Normalized Contact Card No. is %S"), &number);
       
   158 
       
   159    	INFO_PRINTF1(_L("Test to Validate ContactCardNumber"));
       
   160     number = _L("*31#0w(08)3111113"); // This should  be a Valid Contact Card Number
       
   161 	TEST(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EContactCardNumber));
       
   162 
       
   163     number = _L("**3112213"); // This should be a Valid Contact Card Number
       
   164 	TEST((TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EContactCardNumber)));
       
   165 	TEST((TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EContactCardNumber)));
       
   166 	INFO_PRINTF2(_L("Normalized Contact Card No. is %S"), &number);
       
   167 
       
   168     number = _L("##3113113"); // This should be a Valid Contact Card Number
       
   169 	TEST((TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EContactCardNumber)));
       
   170 	TEST((TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EContactCardNumber)));
       
   171 	INFO_PRINTF2(_L("Normalized Contact Card No. is %S"), &number);
       
   172 
       
   173     number = _L("a(08)3111113"); // This should NOT be a Valid Contact Card Number
       
   174 	TEST(!(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EContactCardNumber)));
       
   175 
       
   176 	INFO_PRINTF1(_L("Test to Parse PhoneNumber With Invalid ContactCardNumber"));
       
   177     number = _L("*31*p#+46a35656546"); // This should NOT be a parseable Contact Card Number
       
   178 	TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EContactCardNumber)));
       
   179     }
       
   180     
       
   181 /**
       
   182    @SYMTestCaseID UIF-ETUL-0013
       
   183 
       
   184    @SYMREQ 7736
       
   185  
       
   186    @SYMTestCaseDesc Tests TulPhoneNumberUtils::Normalize() and  TulPhoneNumberUtils::IsValid() methods for
       
   187    TulPhoneNumberUtils::ESMSNumber
       
   188   
       
   189    @SYMTestPriority High 
       
   190  
       
   191    @SYMTestStatus Implemented
       
   192   
       
   193    @SYMTestActions Calls TulPhoneNumberUtils::Normalize() and TulPhoneNumberUtils::IsValid() 
       
   194    methods with Valid and Invalid SMS number.
       
   195       
       
   196    @SYMTestExpectedResults The test checks whether 
       
   197    1. TulPhoneNumberUtils::Normalize() returns:
       
   198 		a. ETrue for Valid SMS number and normalizes the given SMS number.
       
   199 		b. EFalse for Invalid SMS number.
       
   200    2. TulPhoneNumberUtils::IsValid() returns:
       
   201 	   a. ETrue for Valid SMS number and 
       
   202 	   b. EFalse for Invalid SMS number.
       
   203  */
       
   204 void CT_PhoneNumberUtilsStep::ParsePhoneNumberForSMSNumber()
       
   205    {
       
   206    INFO_PRINTF1(_L("Test to Validate SMS number"));
       
   207    TBuf<50> number = _L("12*3-45/345-24.3"); // This should be a Valid SMS number
       
   208    TEST(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::ESMSNumber));
       
   209    
       
   210    TEST(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::ESMSNumber));
       
   211    INFO_PRINTF2(_L("Normalized SMS No. is %S"), &number);
       
   212 
       
   213    number = _L("123453452431234534524312345345243"); // This should be a NOT Valid SMS number
       
   214    TEST(!(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::ESMSNumber)));
       
   215 
       
   216    number = _L(" "); // This should NOT be a Valid SMS numbernumber
       
   217    TEST(!(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::ESMSNumber)));
       
   218    
       
   219    number = _L("(345345243"); // This should NOT be a Valid SMS numbernumber as there is no closing braces.
       
   220    TEST(!(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::ESMSNumber)));
       
   221 
       
   222    TEST(!(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::ESMSNumber)));
       
   223    TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::ESMSNumber)));
       
   224    }
       
   225 
       
   226 /**
       
   227    @SYMTestCaseID UIF-ETUL-0014
       
   228 
       
   229    @SYMREQ 7736
       
   230  
       
   231    @SYMTestCaseDesc Tests TulPhoneNumberUtils::Normalize() and  TulPhoneNumberUtils::IsValid() methods for 
       
   232    TulPhoneNumberUtils::EPhoneClientNumber
       
   233   
       
   234    @SYMTestPriority High 
       
   235  
       
   236    @SYMTestStatus Implemented
       
   237   
       
   238    @SYMTestActions Calls TulPhoneNumberUtils::Normalize() and TulPhoneNumberUtils::IsValid() methods
       
   239    with Valid and Invalid Contact Phone Client number.
       
   240    
       
   241    @SYMTestExpectedResults The test checks whether 
       
   242    1. TulPhoneNumberUtils::Normalize() returns:
       
   243 		a. ETrue for Valid Phone Client number and normalizes the given Phone Client number.
       
   244 		b. EFalse for Invalid Phone Client number.
       
   245    2. TulPhoneNumberUtils::IsValid() returns:
       
   246 	   a. ETrue for Valid Phone Client number and 
       
   247 	   b. EFalse for Invalid Phone Client number.
       
   248  */
       
   249 void CT_PhoneNumberUtilsStep::ParsePhoneNumberForPCN()
       
   250 	{
       
   251    	INFO_PRINTF1(_L("Test to Validate PhoneClientNumber"));
       
   252 
       
   253    	TBuf<50> number = _L("1p23-4534w5-2*43#34"); // This should be a Valid Phone Client Number
       
   254 	TEST(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPhoneClientNumber));
       
   255     
       
   256     TEST(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPhoneClientNumber));
       
   257     INFO_PRINTF2(_L("Normalized Phone Client Number is %S"), &number);
       
   258 
       
   259     number = _L("*5p6405656546"); // This should be a Valid Phone Client Number
       
   260     TEST((TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPhoneClientNumber)));
       
   261 
       
   262     number = _L("+*6405656546"); // This should be a Valid Phone Client Number
       
   263     TEST((TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPhoneClientNumber)));
       
   264 
       
   265     number = _L("+#64046"); // This should be a Valid Phone Client Number
       
   266     TEST((TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPhoneClientNumber)));
       
   267 
       
   268     number = _L("+p640 45656546"); // This should be a NOT Valid Phone Client Number
       
   269     TEST(!(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPhoneClientNumber)));
       
   270 
       
   271     number = _L("#12a3-45345-243"); // This should NOT be a Valid Phone Client Number
       
   272 	TEST(!(TulPhoneNumberUtils::IsValid(number, TulPhoneNumberUtils::EPhoneClientNumber)));
       
   273     TEST(!(TulPhoneNumberUtils::Normalize(number, TulPhoneNumberUtils::EPhoneClientNumber)));
       
   274 	}
       
   275 
       
   276