phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/Src/ut_mediatorfactory.cpp
changeset 77 2be0b271d017
equal deleted inserted replaced
72:c76a0b1755b9 77:2be0b271d017
       
     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 #include "ut_mediatorfactory.h"
       
    19 #include <EUnitMacros.h>
       
    20 #include <EUnitDecorators.h>
       
    21 
       
    22 #include "mpeengineinfo.h"
       
    23 #include "phoneui.pan"
       
    24 #include "globals.h"
       
    25 #include "CPhoneMediatorFactory.h"
       
    26 
       
    27 // Globals 
       
    28 TInt commandListenerInitialised;
       
    29 Singleton* singleton = NULL;
       
    30 
       
    31 // - Construction -----------------------------------------------------------
       
    32 
       
    33 ut_mediatorfactory* ut_mediatorfactory::NewL()
       
    34     {
       
    35     ut_mediatorfactory* self = ut_mediatorfactory::NewLC();
       
    36     CleanupStack::Pop();
       
    37     return self;
       
    38     }
       
    39 
       
    40 ut_mediatorfactory* ut_mediatorfactory::NewLC()
       
    41     {
       
    42     ut_mediatorfactory* self = new( ELeave ) ut_mediatorfactory();
       
    43     CleanupStack::PushL( self );
       
    44     self->ConstructL();
       
    45     return self;
       
    46     }
       
    47 
       
    48 ut_mediatorfactory::~ut_mediatorfactory()
       
    49     {
       
    50     }
       
    51 
       
    52 ut_mediatorfactory::ut_mediatorfactory()
       
    53     {
       
    54     }
       
    55 
       
    56 void ut_mediatorfactory::ConstructL()
       
    57     {
       
    58     CEUnitTestSuiteClass::ConstructL();
       
    59     }
       
    60 
       
    61 // - Test methods -----------------------------------------------------------
       
    62 
       
    63 
       
    64 
       
    65 void ut_mediatorfactory::SetupL(  )
       
    66     {
       
    67     commandListenerInitialised = EFalse;
       
    68     Singleton::pinstance = 0;
       
    69     singleton = Singleton::Instance();
       
    70     iFactory = CPhoneMediatorFactory::Instance();
       
    71     }
       
    72     
       
    73 
       
    74 void ut_mediatorfactory::Teardown(  )
       
    75     {
       
    76     delete iFactory;
       
    77     if( singleton != NULL )
       
    78         {
       
    79         delete singleton;
       
    80         singleton = NULL;
       
    81         }
       
    82     }
       
    83     
       
    84 
       
    85 void ut_mediatorfactory::TestInitialisingCommandListenerL(  )
       
    86     {
       
    87     MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef);
       
    88     MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
       
    89     
       
    90     iFactory->CommandListener( mce, ems, NULL );
       
    91     
       
    92     EUNIT_ASSERT( commandListenerInitialised );
       
    93     }
       
    94 
       
    95 void ut_mediatorfactory::TestCommandListenerNotInitL(  )
       
    96     {
       
    97     MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef);
       
    98     MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
       
    99     MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>( 0xdeadbeef );
       
   100     
       
   101     iFactory->CommandListener( mce, ems, ei );
       
   102     commandListenerInitialised = EFalse;
       
   103 
       
   104     // Should not cause initialisation anymore
       
   105     iFactory->CommandListener( NULL, NULL, NULL );
       
   106     EUNIT_ASSERT( !commandListenerInitialised );
       
   107     }
       
   108 
       
   109 void ut_mediatorfactory::TestMPhoneMenuAndCbaEventsPreCondCheckL(  )
       
   110     {
       
   111     MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
       
   112     MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>( 0xdeadbeef );
       
   113     
       
   114     EUNIT_ASSERT_PANIC( iFactory->CommandListener( NULL, ems, ei ),
       
   115             "Common phone", EPhoneMediatorCenterParameterNotInitialized );
       
   116     
       
   117     }
       
   118 
       
   119 void ut_mediatorfactory::TestMPhoneEngineMessageSenderPreCondCheckL(  )
       
   120     {
       
   121     MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef);
       
   122     MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>( 0xdeadbeef );
       
   123     
       
   124     EUNIT_ASSERT_PANIC( iFactory->CommandListener( mce, NULL, ei ),
       
   125             "Common phone", EPhoneMediatorCenterParameterNotInitialized );
       
   126     
       
   127     }
       
   128 
       
   129 void ut_mediatorfactory::TestEngineInfoPreCondCheckL()
       
   130     {
       
   131     EUNIT_ASSERT_PANIC( iFactory->MediatorMessage( 0, 0 ),
       
   132                        "Common phone",
       
   133                        EPhoneMediatorCenterParameterNotInitialized );    
       
   134     }
       
   135 
       
   136 void ut_mediatorfactory::TestMediatorMessageFactoryCheckL()
       
   137     {
       
   138     MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef); 
       
   139     MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
       
   140     MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>(0xdeadbeef);
       
   141     iFactory->CommandListener( mce, ems, ei );
       
   142     singleton->iLeave = ETrue;
       
   143     EUNIT_ASSERT_PANIC( iFactory->MediatorMessage( 0, 0 ),
       
   144                         "Common phone",
       
   145                         EPhoneMediatorCenterInitializationPanic );
       
   146     }
       
   147 
       
   148 void ut_mediatorfactory::CreateMessageFailCheckL()
       
   149     {
       
   150     MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef); 
       
   151     MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
       
   152     MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>(0xdeadbeef);
       
   153     iFactory->CommandListener( mce, ems, ei );
       
   154     singleton->iCreateMessageLeave = ETrue;
       
   155     EUNIT_ASSERT_PANIC( iFactory->MediatorMessage( 0, 0 ),
       
   156                         "Common phone",
       
   157                         EPhoneMediatorCenterInitializationPanic );
       
   158     }
       
   159 
       
   160 void ut_mediatorfactory::SuccesfulMediatorMessageL()
       
   161     {
       
   162     MPhoneMenuAndCbaEvents* mce = reinterpret_cast<MPhoneMenuAndCbaEvents*>(0xdeadbeef); 
       
   163     MPhoneEngineMessageSender* ems = reinterpret_cast<MPhoneEngineMessageSender*>(0xdeadbeef);
       
   164     MPEEngineInfo* ei = reinterpret_cast<MPEEngineInfo*>(0xdeadbeef);
       
   165     iFactory->CommandListener( mce, ems, ei );
       
   166     singleton->iMessageObject = 0xbeefdead;
       
   167     MPhoneMediatorMessage* object = iFactory->MediatorMessage( 0, 0 );    
       
   168     EUNIT_ASSERT( object == reinterpret_cast<MPhoneMediatorMessage*>(0xbeefdead) );
       
   169     }
       
   170 
       
   171 void ut_mediatorfactory::TestFetchingSenderL()
       
   172     {
       
   173     singleton->iSenderObject = 0xbeefdead;
       
   174     EUNIT_ASSERT( iFactory->Sender() == reinterpret_cast<CPhoneMediatorSender*>(0xbeefdead) );
       
   175     }
       
   176 
       
   177 // - EUnit test table -------------------------------------------------------
       
   178 
       
   179 EUNIT_BEGIN_TEST_TABLE(
       
   180     ut_mediatorfactory,
       
   181     "Tests for CPhoneMediatorFactory",
       
   182     "UNIT" )
       
   183 
       
   184 EUNIT_TEST(
       
   185     "Initialise command listener",
       
   186     "CPhoneMediatorFactory",
       
   187     "CommandListener",
       
   188     "FUNCTIONALITY",
       
   189     SetupL, TestInitialisingCommandListenerL, Teardown)
       
   190     
       
   191 EUNIT_TEST(
       
   192     "Not Initialise command listener",
       
   193     "CPhoneMediatorFactory",
       
   194     "CommandListener",
       
   195     "FUNCTIONALITY",
       
   196     SetupL, TestCommandListenerNotInitL, Teardown)
       
   197 /*
       
   198 EUNIT_TEST(
       
   199     "Parameter MPhoneMenuAndCbaEvents precond check",
       
   200     "CPhoneMediatorFactory",
       
   201     "CommandListener",
       
   202     "FUNCTIONALITY",
       
   203     SetupL, TestMPhoneMenuAndCbaEventsPreCondCheckL, Teardown)
       
   204 
       
   205 EUNIT_TEST(
       
   206     "Parameter MPhoneEngineMessageSender precond check",
       
   207     "CPhoneMediatorFactory",
       
   208     "CommandListener",
       
   209     "FUNCTIONALITY",
       
   210     SetupL, TestMPhoneEngineMessageSenderPreCondCheckL, Teardown)
       
   211 
       
   212 EUNIT_TEST(
       
   213     "Parameter MPhoneEngineMessageSender precond check",
       
   214     "CPhoneMediatorFactory",
       
   215     "MediatorMessage",
       
   216     "FUNCTIONALITY",
       
   217     SetupL, TestEngineInfoPreCondCheckL, Teardown)
       
   218 
       
   219 EUNIT_TEST(
       
   220     "Parameter MPhoneEngineMessageSender precond check",
       
   221     "CPhoneMediatorFactory",
       
   222     "MediatorMessage",
       
   223     "FUNCTIONALITY",
       
   224     SetupL, TestMediatorMessageFactoryCheckL, Teardown)
       
   225 
       
   226 EUNIT_TEST(
       
   227     "Parameter MPhoneEngineMessageSender precond check",
       
   228     "CPhoneMediatorFactory",
       
   229     "MediatorMessage",
       
   230     "FUNCTIONALITY",
       
   231     SetupL, CreateMessageFailCheckL, Teardown)
       
   232 */
       
   233 EUNIT_TEST(
       
   234     "Parameter MPhoneEngineMessageSender precond check",
       
   235     "CPhoneMediatorFactory",
       
   236     "MediatorMessage",
       
   237     "FUNCTIONALITY",
       
   238     SetupL, SuccesfulMediatorMessageL, Teardown)
       
   239 
       
   240 EUNIT_TEST(
       
   241     "Parameter MPhoneEngineMessageSender precond check",
       
   242     "CPhoneMediatorFactory",
       
   243     "Sender",
       
   244     "FUNCTIONALITY",
       
   245     SetupL, TestFetchingSenderL, Teardown)
       
   246     
       
   247 EUNIT_END_TEST_TABLE