mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallmonitorbase.cpp
changeset 0 f0cf47e981f9
child 32 73a1feb507fb
equal deleted inserted replaced
-1:000000000000 0:f0cf47e981f9
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 //  INTERNAL INCLUDES
       
    20 #include "e32property.h"
       
    21 #include "ut_muscallmonitorbase.h"
       
    22 #include "mussesseioninformationapi.h"
       
    23 
       
    24 //  SYSTEM INCLUDES
       
    25 #include <digia/eunit/eunitmacros.h>
       
    26 
       
    27 
       
    28 CMusCallMonitorMock::CMusCallMonitorMock( const RMobileCall& aCall,
       
    29 										MMusTsyPropertyObserver& aObserver ) 
       
    30         : CMusCallMonitorBase( aCall, aObserver )
       
    31     {
       
    32     }
       
    33 
       
    34 
       
    35 void CMusCallMonitorMock::RunL()
       
    36     {
       
    37     }
       
    38 
       
    39 void CMusCallMonitorMock::DoCancel()
       
    40     {
       
    41     }
       
    42 
       
    43 CMusCallMonitorMock::~CMusCallMonitorMock()
       
    44     {
       
    45     Cancel();        
       
    46     }
       
    47 
       
    48 
       
    49 // -----------------------------------------------------------------------------
       
    50 //
       
    51 // -----------------------------------------------------------------------------
       
    52 //
       
    53 UT_CMusCallMonitorBase* UT_CMusCallMonitorBase::NewL()
       
    54     {
       
    55     UT_CMusCallMonitorBase* self = UT_CMusCallMonitorBase::NewLC();
       
    56     CleanupStack::Pop( self );
       
    57     return self;
       
    58     }
       
    59 
       
    60 
       
    61 // -----------------------------------------------------------------------------
       
    62 //
       
    63 // -----------------------------------------------------------------------------
       
    64 //
       
    65 UT_CMusCallMonitorBase* UT_CMusCallMonitorBase::NewLC()
       
    66     {
       
    67     UT_CMusCallMonitorBase* self = new( ELeave ) UT_CMusCallMonitorBase();
       
    68     CleanupStack::PushL( self );
       
    69     self->ConstructL();
       
    70     return self;
       
    71     }
       
    72 
       
    73 
       
    74 // -----------------------------------------------------------------------------
       
    75 //
       
    76 // -----------------------------------------------------------------------------
       
    77 //
       
    78 UT_CMusCallMonitorBase::~UT_CMusCallMonitorBase()
       
    79     {
       
    80     // None
       
    81     }
       
    82 
       
    83 
       
    84 // -----------------------------------------------------------------------------
       
    85 // Default constructor
       
    86 // -----------------------------------------------------------------------------
       
    87 //
       
    88 UT_CMusCallMonitorBase::UT_CMusCallMonitorBase()
       
    89     {
       
    90     // NOP
       
    91     }
       
    92 
       
    93 
       
    94 // -----------------------------------------------------------------------------
       
    95 // Second phase construct
       
    96 // -----------------------------------------------------------------------------
       
    97 //
       
    98 void UT_CMusCallMonitorBase::ConstructL()
       
    99     {
       
   100     // The ConstructL from the base class CEUnitTestSuiteClass must be called.
       
   101     // It generates the test case table.
       
   102     CEUnitTestSuiteClass::ConstructL();
       
   103     }
       
   104     
       
   105 
       
   106 // -----------------------------------------------------------------------------
       
   107 // UT_CMusCallMonitorBase::NotifyCallStateChanged() 
       
   108 // -----------------------------------------------------------------------------
       
   109 //
       
   110 void 
       
   111 UT_CMusCallMonitorBase::NotifyCallStateChanged( NMusSessionInformationApi::TMusCallEvent /*aVal*/,
       
   112                                                 TName& /*aCallName*/ )
       
   113     {          
       
   114     }
       
   115 
       
   116 // -----------------------------------------------------------------------------
       
   117 //
       
   118 // -----------------------------------------------------------------------------
       
   119 //
       
   120 void UT_CMusCallMonitorBase::SetupL()
       
   121     {
       
   122     RProperty::Set( NMusSessionInformationApi::KCategoryUid,
       
   123                      NMusSessionInformationApi::KMusCallEvent,
       
   124                      0 );
       
   125     RTelHelper::SetCallDirection( RMobileCall::EDirectionUnknown );
       
   126     iCallMonitorBase = new CMusCallMonitorMock( iCall, *this );    
       
   127     }
       
   128 
       
   129 
       
   130 void UT_CMusCallMonitorBase::Setup2L()
       
   131     {
       
   132     iCallMonitorBase = new CMusCallMonitorMock( iCall, *this );    
       
   133     }
       
   134 
       
   135 // -----------------------------------------------------------------------------
       
   136 //
       
   137 // -----------------------------------------------------------------------------
       
   138 //
       
   139 void UT_CMusCallMonitorBase::Teardown()
       
   140     {    
       
   141     delete iCallMonitorBase;
       
   142     PropertyHelper::Close();
       
   143     iCall.Close();
       
   144     }
       
   145 
       
   146 
       
   147 
       
   148 // TEST CASES
       
   149 
       
   150 
       
   151 // -----------------------------------------------------------------------------
       
   152 //
       
   153 // -----------------------------------------------------------------------------
       
   154 //
       
   155 void UT_CMusCallMonitorBase::UT_SetStateLL()
       
   156     {
       
   157     TInt tmp;
       
   158     
       
   159     EUNIT_ASSERT ( RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   160                      NMusSessionInformationApi::KMusCallEvent, tmp ) != KErrNone );
       
   161     
       
   162     EUNIT_ASSERT_LEAVE( iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallHold ) );
       
   163     
       
   164     if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
       
   165                      NMusSessionInformationApi::KMusCallEvent,
       
   166                      0 ) != KErrNone )
       
   167         {
       
   168         User::Leave( KErrNoMemory );
       
   169         }
       
   170 	if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
       
   171                      NMusSessionInformationApi::KMusCallCount,
       
   172                      1 ) != KErrNone )
       
   173         {
       
   174         User::Leave( KErrNoMemory );
       
   175         }
       
   176 
       
   177 	
       
   178     iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallHold );
       
   179     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   180                      NMusSessionInformationApi::KMusCallEvent,
       
   181                      tmp );
       
   182     EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold);
       
   183     
       
   184     iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallHold );
       
   185     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   186                      NMusSessionInformationApi::KMusCallEvent,
       
   187                      tmp );
       
   188     EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold);
       
   189 
       
   190     iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallConnected );
       
   191     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   192                      NMusSessionInformationApi::KMusCallEvent,
       
   193                      tmp );
       
   194     EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected );
       
   195     
       
   196     }
       
   197 
       
   198 
       
   199 // -----------------------------------------------------------------------------
       
   200 //
       
   201 // -----------------------------------------------------------------------------
       
   202 //
       
   203 void UT_CMusCallMonitorBase::UT_SetCallInfoLL()
       
   204     {
       
   205     _LIT( KTelnro, "1234" );
       
   206     TName telnro;
       
   207     TInt direction;
       
   208     
       
   209     iCallMonitorBase->SetCallInfoL();
       
   210     
       
   211     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   212                      NMusSessionInformationApi::KMusTelNumber,
       
   213                      telnro );
       
   214     
       
   215     EUNIT_ASSERT( telnro == KTelnro );
       
   216 
       
   217     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   218                      NMusSessionInformationApi::KMusCallDirection,
       
   219                      direction );
       
   220     
       
   221     EUNIT_ASSERT( direction == NMusSessionInformationApi::ENoDirection );
       
   222     
       
   223     RTelHelper::SetCallDirection( RMobileCall::EMobileOriginated );
       
   224     
       
   225     iCallMonitorBase->SetCallInfoL();
       
   226     
       
   227     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   228                      NMusSessionInformationApi::KMusTelNumber,
       
   229                      telnro );
       
   230     
       
   231     EUNIT_ASSERT( telnro == KTelnro );
       
   232 
       
   233     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   234                      NMusSessionInformationApi::KMusCallDirection,
       
   235                      direction );
       
   236     
       
   237     EUNIT_ASSERT( direction == NMusSessionInformationApi::ECallOrginated );
       
   238     
       
   239     RTelHelper::SetCallDirection( RMobileCall::EMobileTerminated );
       
   240     iCallMonitorBase->SetCallInfoL();
       
   241     
       
   242     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   243                      NMusSessionInformationApi::KMusTelNumber,
       
   244                      telnro );
       
   245     
       
   246     EUNIT_ASSERT( telnro == KTelnro );
       
   247 
       
   248     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   249                      NMusSessionInformationApi::KMusCallDirection,
       
   250                      direction );
       
   251     
       
   252     EUNIT_ASSERT( direction == NMusSessionInformationApi::ECallTerminated );
       
   253     
       
   254 
       
   255     }
       
   256 
       
   257 
       
   258 // -----------------------------------------------------------------------------
       
   259 //
       
   260 // -----------------------------------------------------------------------------
       
   261 //
       
   262 void UT_CMusCallMonitorBase::UT_RunErrorL()
       
   263     {
       
   264     EUNIT_ASSERT( iCallMonitorBase->RunError( KErrNotFound ) == KErrNone );
       
   265     }
       
   266 
       
   267 
       
   268 // -----------------------------------------------------------------------------
       
   269 //
       
   270 // -----------------------------------------------------------------------------
       
   271 //
       
   272 void UT_CMusCallMonitorBase::UT_SetClirSettingL()
       
   273     {
       
   274     TInt tmp;
       
   275     _LIT( KTestNumber1, "11111" );
       
   276     _LIT( KTestNumber2, "#31#11111" );
       
   277     
       
   278     iCallMonitorBase->SetClirSetting( KTestNumber1() );
       
   279     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   280                      NMusSessionInformationApi::KMusClirSetting,
       
   281                      tmp );
       
   282     EUNIT_ASSERT( tmp==NMusSessionInformationApi::ESendOwnNumber);
       
   283     
       
   284     iCallMonitorBase->SetClirSetting( KTestNumber2() );
       
   285     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   286                      NMusSessionInformationApi::KMusClirSetting,
       
   287                      tmp );
       
   288     EUNIT_ASSERT( tmp==NMusSessionInformationApi::EDoNotSendOwnNumber);
       
   289         
       
   290     }
       
   291 
       
   292 // -----------------------------------------------------------------------------
       
   293 //
       
   294 // -----------------------------------------------------------------------------
       
   295 //
       
   296 void UT_CMusCallMonitorBase::UT_SetTerminatingPrivacyL()
       
   297     {
       
   298     TInt tmp;
       
   299         
       
   300     iCallMonitorBase->SetTerminatingPrivacy( iCallMonitorBase->iCall );
       
   301     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   302                      NMusSessionInformationApi::KMUSPrivacy,
       
   303                      tmp );
       
   304     EUNIT_ASSERT( tmp==NMusSessionInformationApi::EPrivacyOff);
       
   305         
       
   306     RTelHelper::SetRemoteIdStatus( RMobileCall::ERemoteIdentitySuppressed );
       
   307     iCallMonitorBase->SetTerminatingPrivacy( iCallMonitorBase->iCall );
       
   308     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   309                      NMusSessionInformationApi::KMUSPrivacy,
       
   310                      tmp );
       
   311     EUNIT_ASSERT( tmp==NMusSessionInformationApi::EPrivacyOn);
       
   312     
       
   313     
       
   314     }
       
   315 
       
   316 // -----------------------------------------------------------------------------
       
   317 //
       
   318 // -----------------------------------------------------------------------------
       
   319 //
       
   320 void UT_CMusCallMonitorBase::UT_RemovePrefixL()
       
   321     {
       
   322     _LIT( KTestNumber1, "11111" );
       
   323     _LIT( KTestNumber2, "#31#11111" );
       
   324     _LIT( KTestNumber3, "*31#11111" );
       
   325 
       
   326     
       
   327     HBufC* test1 = iCallMonitorBase->RemovePrefix(  KTestNumber1 );
       
   328     CleanupStack::PushL( test1 );
       
   329     EUNIT_ASSERT( *test1 == KTestNumber1 );
       
   330     CleanupStack::PopAndDestroy( test1 );
       
   331     
       
   332     HBufC* test2 = iCallMonitorBase->RemovePrefix(  KTestNumber3 );
       
   333     CleanupStack::PushL( test2 );
       
   334     EUNIT_ASSERT( *test2 == KTestNumber1 );
       
   335     CleanupStack::PopAndDestroy( test2 );
       
   336     
       
   337     HBufC* test3 = iCallMonitorBase->RemovePrefix(  KTestNumber2 );
       
   338     CleanupStack::PushL( test3 );
       
   339     EUNIT_ASSERT( *test3 == KTestNumber1 );
       
   340     CleanupStack::PopAndDestroy( test3 );
       
   341     
       
   342     
       
   343         
       
   344     }
       
   345 
       
   346 
       
   347 //  TEST TABLE
       
   348 
       
   349 EUNIT_BEGIN_TEST_TABLE(
       
   350     UT_CMusCallMonitorBase,
       
   351     "UT_CMusCallMonitorBase",
       
   352     "UNIT" )
       
   353 
       
   354 EUNIT_TEST(
       
   355     "SetStateL - test",
       
   356     "CMusCallMonitorBase",
       
   357     "SetStateL",
       
   358     "FUNCTIONALITY",
       
   359     Setup2L, UT_SetStateLL, Teardown)
       
   360 
       
   361 EUNIT_TEST(
       
   362     "SetCallInfoL - test",
       
   363     "CMusCallMonitorBase",
       
   364     "SetCallInfoL",
       
   365     "FUNCTIONALITY",
       
   366     SetupL, UT_SetCallInfoLL, Teardown)
       
   367 
       
   368 EUNIT_TEST(
       
   369     "RunError - test",
       
   370     "CMusCallMonitorBase",
       
   371     "RunError",
       
   372     "FUNCTIONALITY",
       
   373     SetupL, UT_RunErrorL, Teardown)
       
   374     
       
   375 EUNIT_TEST(
       
   376     "SetClirSetting - test",
       
   377     "CMusCallMonitorBase",
       
   378     "SetClirSetting",
       
   379     "FUNCTIONALITY",
       
   380     SetupL, UT_SetClirSettingL, Teardown)
       
   381 
       
   382 EUNIT_TEST(
       
   383     "SetTerminatingPrivacy - test",
       
   384     "CMusCallMonitorBase",
       
   385     "SetTerminatingPrivacy",
       
   386     "FUNCTIONALITY",
       
   387     SetupL, UT_SetTerminatingPrivacyL, Teardown)
       
   388 
       
   389 EUNIT_TEST(
       
   390     "RemovePrefix - test",
       
   391     "CMusCallMonitorBase",
       
   392     "RemovePrefix",
       
   393     "FUNCTIONALITY",
       
   394     SetupL, UT_RemovePrefixL, Teardown)
       
   395     
       
   396 
       
   397 EUNIT_END_TEST_TABLE
       
   398 
       
   399 //  END OF FILE
       
   400 
       
   401