diff -r 000000000000 -r f0cf47e981f9 mmsharing/mmshmanagersrv/tsrc/ut_managersrv/inc/ut_cmusavailabilitypluginmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshmanagersrv/tsrc/ut_managersrv/inc/ut_cmusavailabilitypluginmanager.h Thu Dec 17 08:44:37 2009 +0200 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Unit tests for CMusAvailabilityManager class. +* +*/ + + +#ifndef UT_CMUSAVAILABILITYPLUGINMANAGER_H +#define UT_CMUSAVAILABILITYPLUGINMANAGER_H + +#include "musavailabilitypluginmanagerobserver.h" +#include +#include + +#pragma warn_illtokenpasting off + +class CMusAvailabilityPluginManager; +class CMusApplicationManager; + +#ifndef NONSHARABLE_CLASS + #define NONSHARABLE_CLASS(x) class x +#endif + +/** + * Unit test class for CMusAvailabilityPluginManager. + * Implements unit tests for CMusAvailabilityPluginManager. + * + * @since S60 v3.2 + */ +NONSHARABLE_CLASS( UT_CMusAvailabilityPluginManager ) + : public CEUnitTestSuiteClass, MMusAvailabilityPluginManagerObserver + { +public: + + static UT_CMusAvailabilityPluginManager* NewL(); + + static UT_CMusAvailabilityPluginManager* NewLC(); + + /** + * Destructor. + */ + ~UT_CMusAvailabilityPluginManager(); + +// from baseclass MMusAvailabilityPluginManagerObserver. + + /** + * From MMusAvailabilityPluginManagerObserver. + * Informs that observed plugin is stopped. + * + * @since S60 v3.2 + */ + virtual void PluginStopped(); + + /** + * From MMusAvailabilityPluginManagerObserver. + * Informs a change in multimedia sharing availability. + * + * @param aAvailability Represents new state of availability. + * @since S60 v3.2 + */ + virtual void AvailabilityChangedL( MultimediaSharing::TMusAvailabilityStatus aAvailability ); + + + /** + * From MMusAvailabilityPluginManagerObserver. + * + * @since S60 v3.2 + */ + virtual void StartLiveSharingL(); + +private: + + UT_CMusAvailabilityPluginManager(); + + void ConstructL(); + + /** + * Sets up a test case. + */ + void SetupL(); + + /** + * Tears down a test case. + */ + void Teardown(); + + /** + * Invidual unit test methods. + */ + void UT_CMusAvailabilityPluginManager_NewLL(); + void UT_CMusAvailabilityPluginManager_NewLCL(); + void UT_CMusAvailabilityPluginManager_InvestigateAvailabilityLL(); + void UT_CMusAvailabilityPluginManager_InvitationReceivedLL(); + void UT_CMusAvailabilityPluginManager_OptionsReceivedLL(); + void UT_CMusAvailabilityPluginManager_StopPluginLL(); + void UT_CMusAvailabilityPluginManager_SessionParametersL(); + void UT_CMusAvailabilityPluginManager_OptionAllowedL(); + void UT_CMusAvailabilityPluginManager_ApplicationStateL(); + void UT_CMusAvailabilityPluginManager_AvailabilityL(); + void UT_CMusAvailabilityPluginManager_StartLiveSharingLL(); + void UT_CMusAvailabilityPluginManager_MapAvailabilitiesL(); + void UT_CMusAvailabilityPluginManager_UpdateSessionParametersLL(); + void UT_CMusAvailabilityPluginManager_SipAddressesLCL(); + void UT_CMusAvailabilityPluginManager_TelNumberLCL(); + void UT_CMusAvailabilityPluginManager_ContactNameLCL(); + void UT_CMusAvailabilityPluginManager_IndicateAvailabilityLL(); + +private: // data + + /** + * Instance of tested class. + * Own. + */ + CMusAvailabilityPluginManager* iManager; + + /** + * Tells if observer method + * MMusAvailabilityPluginManagerObserver::AvailabilityChangedL has been + * called. + */ + TBool iCalledAvailabilityChangedL; + + /** + * Tells if observer method + * MMusAvailabilityPluginManagerObserver::PluginStoppedL has been called. + */ + TBool iCalledPluginStoppedL; + + /** + * Tells if observer method + * MMusAvailabilityPluginManagerObserver::StartLiveSharingL has been called. + */ + TBool iCalledAStartLiveSharing; + + /** + * Application manager instance. Owned. + */ + CMusApplicationManager* iAppManager; + + EUNIT_DECLARE_TEST_TABLE; + + }; + +#endif // UT_CMUSAVAILABILITYPLUGINMANAGER_H