diff -r 33a5d2bbf6fc -r 73a1feb507fb mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_mustsypropertymonitor.cpp --- a/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_mustsypropertymonitor.cpp Thu Aug 19 09:51:39 2010 +0300 +++ b/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_mustsypropertymonitor.cpp Tue Aug 31 15:12:07 2010 +0300 @@ -19,17 +19,27 @@ // INTERNAL INCLUDES #include "etelmm.h" #include "e32property.h" +#include "centralrepository.h" #include "ut_mustsypropertymonitor.h" #include "mustsypropertymonitor.h" -#include "mussettings.h" - +#include "muscallmonitor.h" +#include "musvoipcallmonitor.h" +#include "muscallconferencemonitor.h" // SYSTEM INCLUDES #include #include +#include + _LIT(KTelNo,"1234"); +_LIT( KTestProvideName, "VoIP" ); +_LIT( KDefaultSipUri, "sip:default@uri" ); +TName cs_call_1(_L("cs_call_1")); +TName cs_call_2(_L("cs_call_2")); +TName voip_call_1(_L("voip_call_1")); +TName voip_call_2(_L("voip_call_2")); // ----------------------------------------------------------------------------- // @@ -93,34 +103,13 @@ // void UT_CMusTsyPropertyMonitor::SetupL() { + iMusCentralRepository = CRepository::NewL( MusSettingsKeys::KRepositoryUid ); RProperty::Set( NMusSessionInformationApi::KCategoryUid, NMusSessionInformationApi::KMusCallEvent, 0 ); - MultimediaSharingSettings::SetPropertyValueL( - MusSettingsKeys::KPrivacyExchange, - MusSettingsKeys::EPrivacy ); - iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone ); + iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone, *this ); iMusTsyPropertyMonitor->iPropertyEvent.iPValue = EPSCTsyCallStateUninitialized; - - } - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -void UT_CMusTsyPropertyMonitor::Setup2L() - { - RProperty::Set( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMusCallEvent, - 0 ); - MultimediaSharingSettings::SetPropertyValueL( - MusSettingsKeys::KPrivacyExchange, - MusSettingsKeys::ENoPrivacy ); - - iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone ); - iMusTsyPropertyMonitor->iPropertyEvent.iPValue = EPSCTsyCallStateUninitialized; - } @@ -130,6 +119,8 @@ // void UT_CMusTsyPropertyMonitor::Teardown() { + delete iMusCentralRepository; + iMusCentralRepository = NULL; delete iMusTsyPropertyMonitor; PropertyHelper::Close(); iPhone.Close(); @@ -144,30 +135,23 @@ // // ----------------------------------------------------------------------------- // -void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_NewLL() - { - EUNIT_ASSERT( iMusTsyPropertyMonitor); - EUNIT_ASSERT( MultimediaSharingSettings::PrivacySetting() );//feature is on by default - EUNIT_ASSERT( iMusTsyPropertyMonitor->iClirMonitor ); - - MultimediaSharingSettings::SetPropertyValueL( MusSettingsKeys::KPrivacyExchange, - MusSettingsKeys::ENoPrivacy ); - delete iMusTsyPropertyMonitor; - iMusTsyPropertyMonitor = NULL; - - iMusTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL( iPhone ); - EUNIT_ASSERT( !MultimediaSharingSettings::PrivacySetting() );//feature is on by default - EUNIT_ASSERT( !iMusTsyPropertyMonitor->iClirMonitor ); - - } - - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_RunLL() { + + // Set intial call type too unintialiazed. + if ( RProperty::Set( KPSUidCtsyCallInformation,KCTsyCallType, + EPSCTsyCallTypeUninitialized )) + { + User::Leave( KErrNoMemory ); + } + // Set intial call count + if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallCount, + 0 ) != KErrNone ) + { + User::Leave( KErrNoMemory ); + } + EUNIT_ASSERT( iMusTsyPropertyMonitor); TInt val = KErrNone; @@ -225,13 +209,12 @@ iMusTsyPropertyMonitor->iPropertyEvent.iPValue = EPSCTsyCallStateHold; iMusTsyPropertyMonitor->SetStateL( NMusSessionInformationApi::ENoCall ); - if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMusCallCount, - 1 ) != KErrNone ) - { - User::Leave( KErrNoMemory ); - } - + if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallCount, + 1 ) != KErrNone ) + { + User::Leave( KErrNoMemory ); + } //simulate multicall scenario TName callName(_L("Voice1")); iMusTsyPropertyMonitor->AddCallMonitorL( callName ); @@ -306,65 +289,155 @@ // // ----------------------------------------------------------------------------- // -void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCallLL() +void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCSCallLL() { + if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallCount, + 0 ) != KErrNone ) + { + User::Leave( KErrNoMemory ); + } RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusIdle ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); + iMusTsyPropertyMonitor->MonitorCSCallL(); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); + + RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusHangingUp ); + iMusTsyPropertyMonitor->MonitorCSCallL(); EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); - iMusTsyPropertyMonitor->MonitorCallL(); + RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); + iMusTsyPropertyMonitor->MonitorCSCallL(); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); + + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusAnswering ); + iMusTsyPropertyMonitor->MonitorCSCallL(); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); + + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusIdle ); + iMusTsyPropertyMonitor->MonitorCSCallL(); EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); - RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusHangingUp ); - - iMusTsyPropertyMonitor->MonitorCallL(); - EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); - - RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorVoipCallLL() + { + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, NMusSessionInformationApi::KMusCallCount, 0 ) != KErrNone ) { User::Leave( KErrNoMemory ); } - iMusTsyPropertyMonitor->MonitorCallL(); - EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); + + // State connected + TPSCTsyCallState callState = EPSCTsyCallStateConnected; + iMusTsyPropertyMonitor->MonitorVoipCallL( callState ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); - RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusAnswering ); - //already exist - iMusTsyPropertyMonitor->MonitorCallL(); - EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); + // State answering + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); + callState = EPSCTsyCallStateAnswering ; + iMusTsyPropertyMonitor->MonitorVoipCallL( callState ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); + // State disconnecting ( Atleast one previous voip call is present ) + callState = EPSCTsyCallStateDisconnecting; + iMusTsyPropertyMonitor->MonitorVoipCallL( callState ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); + } - RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusUnknown ); - - iMusTsyPropertyMonitor->MonitorCallL(); - EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); - - RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusIdle ); - iMusTsyPropertyMonitor->MonitorCallL(); - - EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); - } // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- // -void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCallL_2L() +void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_MonitorCallLL() { - EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); - EUNIT_ASSERT( !iMusTsyPropertyMonitor->iClirMonitor ); - - RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); + TInt tmp = 0; if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMusCallCount, - 0 ) != KErrNone ) + NMusSessionInformationApi::KMusCallCount, + 0 ) != KErrNone ) + { + User::Leave( KErrNoMemory ); + } + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + // Test : Cs call and call state is connected + TPSCTsyCallState callState = EPSCTsyCallStateConnected; + RTelHelper::SetCallStatus( (RMobileCall::TMobileCallStatus)RCall::EStatusConnected ); + TPSCTsyCallType callType = EPSCTsyCallTypeCSVoice; + iMusTsyPropertyMonitor->MonitorCallL(callState,callType); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); + + // Test : unknown call type + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + callType = EPSCTsyCallTypeNone; + iMusTsyPropertyMonitor->MonitorCallL(callState,callType); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ENoCall); + + // Test : Voip call and call state is connected and factory settings not found + // if key not found then it should behave default = AllowedAllCalls. + callState = EPSCTsyCallStateConnected; + callType = EPSCTsyCallTypeVoIP; + iMusTsyPropertyMonitor->MonitorCallL(callState,callType); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); + + + // Test : Voip call and call state is connected and factory settings set to + // all call supported. + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + iMusCentralRepository->Set(MusSettingsKeys::KAllowOnlyWithActiveCSCall, + MusSettingsKeys::EAllowedAllCalls); + callState = EPSCTsyCallStateConnected; + callType = EPSCTsyCallTypeVoIP; + iMusTsyPropertyMonitor->MonitorCallL(callState,callType); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 1 ); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); + + // Test : Voip call and call state is connected but factory settings are cs only + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + iMusCentralRepository->Set(MusSettingsKeys::KAllowOnlyWithActiveCSCall,MusSettingsKeys::EAllowedCSOnly); + callState = EPSCTsyCallStateConnected; + callType = EPSCTsyCallTypeVoIP; + iMusTsyPropertyMonitor->MonitorCallL(callState,callType); + EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 0 ); + if ( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() != 0 ) { - User::Leave( KErrNoMemory ); + User::Leave( KErrNoMemory ); // Call was not removed because of memory running out was "silenty" handled. } - iMusTsyPropertyMonitor->MonitorCallL(); - EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count() == 1 ); - + EUNIT_ASSERT( iMusTsyPropertyMonitor->iVoipCallMonitorArray.Count() == 0 ); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ENoCall); } // ----------------------------------------------------------------------------- @@ -387,9 +460,191 @@ iMusTsyPropertyMonitor->RemoveUnUsedCallMonitors(); EUNIT_ASSERT( iMusTsyPropertyMonitor->iCallMonitorArray.Count()==0 ); } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_CheckCallCriteriaLL() + { + if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallCount, + 0 ) != KErrNone ) + { + User::Leave( KErrNoMemory ); + } + TInt tmp = 0; + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + + User::LeaveIfError( RProperty::Set( KPSUidTelRemotePartyInformation, + KTelCLINumber, + _L( "sip:somebody@somewhere" ) ) ); + // Test : no cs call , one voip call + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); + iMusTsyPropertyMonitor->CheckCallCriteriaL(); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); + // Test : one cs call , multiple voip calls + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_2 ); + iMusTsyPropertyMonitor->CheckCallCriteriaL(); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); + // Test: multiple cs call, one voip call + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_2 ); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); + iMusTsyPropertyMonitor->CheckCallCriteriaL(); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); + + // Test : multiple cs call , multiple voip calls + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_2 ); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_2 ); + iMusTsyPropertyMonitor->CheckCallCriteriaL(); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); + // Test : one cs call , one voip call + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); + iMusTsyPropertyMonitor->CheckCallCriteriaL(); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold); + // Test: one cs call , no voip call + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + RTelHelper::SetCallStatus( RMobileCall::EStatusConnected ); + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); + iMusTsyPropertyMonitor->CheckCallCriteriaL(); + RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + tmp ); + EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallConnected); + } + +// ----------------------------------------------------------------------------- +// UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_IsDataReadyLL() +// Test to query from corresponding monitors if they are ready. +// ----------------------------------------------------------------------------- +// + + +void UT_CMusTsyPropertyMonitor::UT_CMusTsyPropertyMonitor_IsDataReadyLL() + { + TBool dataReady = EFalse; + + // Test-1: CS Call Ready: + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + + if ( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallCount, + 0 ) != KErrNone ) + { + User::Leave( KErrNoMemory ); + } + + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusTelNumber, + KTelNo )); + + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallDirection, + NMusSessionInformationApi::ECallOrginated )); + + iMusTsyPropertyMonitor->AddCallMonitorL( cs_call_1 ); + dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); + EUNIT_ASSERT_EQUALS( dataReady, ETrue ) + + // Test-2: CS Call NotReady: + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusTelNumber, + KNullDesC )); + + dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); + EUNIT_ASSERT_EQUALS( dataReady, EFalse ) + + // Test-3 VoIP Call Ready + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); + + User::LeaveIfError( RProperty::Set( + NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusTelNumber, + KDefaultSipUri )); + + User::LeaveIfError(RProperty::Set( + NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMUSCallProvider, + KTestProvideName )); + + dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); + EUNIT_ASSERT_EQUALS( dataReady, ETrue ) + + + // Test-4 VoIP Call Not Ready + User::LeaveIfError( RProperty::Set( + NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMUSCallProvider, + KNullDesC )); + + dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); + + EUNIT_ASSERT_EQUALS( dataReady, EFalse ) + + // Test-5: Conference Case + iMusTsyPropertyMonitor->iCallMonitorArray.ResetAndDestroy(); + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_1 ); + iMusTsyPropertyMonitor->AddVoipCallMonitorL( voip_call_2 ); + + dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); + EUNIT_ASSERT_EQUALS( dataReady, EFalse ) + iMusTsyPropertyMonitor->iVoipCallMonitorArray.ResetAndDestroy(); + + // Test-3 Handling conference case. + iMusTsyPropertyMonitor->iConferenceMonitor->iConfStatus = RMobileConferenceCall::EConferenceActive; + dataReady = iMusTsyPropertyMonitor->IsDataReadyL(); + EUNIT_ASSERT_EQUALS( dataReady, ETrue ) + iMusTsyPropertyMonitor->iConferenceMonitor->iConfStatus = RMobileConferenceCall::EConferenceIdle; + } + + +// ----------------------------------------------------------------------------- +// MusCallStateChanged from the MusCallStateObserver +// ----------------------------------------------------------------------------- +// +void UT_CMusTsyPropertyMonitor::MusCallStateChanged() + { + // NOP + } + // TEST TABLE EUNIT_BEGIN_TEST_TABLE( @@ -397,14 +652,6 @@ "UT_CMusTsyPropertyMonitor", "UNIT" ) - -EUNIT_TEST( - "NewL - test", - "CMusTsyPropertyMonitor", - "NewL", - "FUNCTIONALITY", - SetupL, UT_CMusTsyPropertyMonitor_NewLL, Teardown) - EUNIT_TEST( "RunL - test", "CMusTsyPropertyMonitor", @@ -427,7 +674,7 @@ SetupL, UT_CMusTsyPropertyMonitor_RunErrorL, Teardown) EUNIT_TEST( - "RemoveUnUsedCallMonitorsL", + "UT_CMusTsyPropertyMonitor_RemoveUnUsedCallMonitorsL", "CMusCallStatusMonitor", "RemoveUnUsedCallMonitors", "FUNCTIONALITY", @@ -453,14 +700,35 @@ "MonitorCallL", "FUNCTIONALITY", SetupL, UT_CMusTsyPropertyMonitor_MonitorCallLL, Teardown) + +EUNIT_TEST( + "MonitorCsCallL - test", + "CMusTsyPropertyMonitor", + "MonitorCsCallL", + "FUNCTIONALITY", + SetupL, UT_CMusTsyPropertyMonitor_MonitorCSCallLL, Teardown) + +EUNIT_TEST( + "MonitorVoipCallL - test", + "CMusTsyPropertyMonitor", + "MonitorVoipCallL", + "FUNCTIONALITY", + SetupL, UT_CMusTsyPropertyMonitor_MonitorVoipCallLL, Teardown) EUNIT_TEST( - "MonitorCallL no clir - test", + "CheckCallCriteriaL - test", "CMusTsyPropertyMonitor", - "MonitorCallL", + "CheckCallCriteriaL", "FUNCTIONALITY", - Setup2L, UT_CMusTsyPropertyMonitor_MonitorCallL_2L, Teardown) - + SetupL, UT_CMusTsyPropertyMonitor_CheckCallCriteriaLL, Teardown) + +EUNIT_TEST( + "IsDataReadyL - test", + "CMusTsyPropertyMonitor", + "IsDataReadyL", + "FUNCTIONALITY", + SetupL, UT_CMusTsyPropertyMonitor_IsDataReadyLL, Teardown) + EUNIT_END_TEST_TABLE // END OF FILE