diff -r 000000000000 -r f0cf47e981f9 mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsessiondurationtimer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsessiondurationtimer.cpp Thu Dec 17 08:44:37 2009 +0200 @@ -0,0 +1,197 @@ +/* +* Copyright (c) 2009 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: +* +*/ + + +// INTERNAL INCLUDES +#include "ut_musengsessiondurationtimer.h" +#include "musengsessiondurationtimer.h" +#include "musengstubs.h" +#include "musengtestdefs.h" + + +// SYSTEM INCLUDES +#include + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +UT_CMusEngSessionDurationTimer* UT_CMusEngSessionDurationTimer::NewL() + { + UT_CMusEngSessionDurationTimer* self = UT_CMusEngSessionDurationTimer::NewLC(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +UT_CMusEngSessionDurationTimer* UT_CMusEngSessionDurationTimer::NewLC() + { + UT_CMusEngSessionDurationTimer* self = + new( ELeave ) UT_CMusEngSessionDurationTimer(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +UT_CMusEngSessionDurationTimer::~UT_CMusEngSessionDurationTimer() + { + // NOP + } + + +// ----------------------------------------------------------------------------- +// Default constructor +// ----------------------------------------------------------------------------- +// +UT_CMusEngSessionDurationTimer::UT_CMusEngSessionDurationTimer() + { + // NOP + } + + +// ----------------------------------------------------------------------------- +// Second phase construct +// ----------------------------------------------------------------------------- +// +void UT_CMusEngSessionDurationTimer::ConstructL() + { + // The ConstructL from the base class CEUnitTestSuiteClass must be called. + // It generates the test case table. + CEUnitTestSuiteClass::ConstructL(); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void UT_CMusEngSessionDurationTimer::SetupL() + { + iObserver = new( ELeave ) CMusEngObserverStub; + iDurationTimer = CMusEngSessionDurationTimer::NewL( *iObserver ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void UT_CMusEngSessionDurationTimer::Teardown() + { + delete iDurationTimer; + delete iObserver; + } + + + +// TEST CASES + + + + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void UT_CMusEngSessionDurationTimer::UT_CMusEngSessionDurationTimer_StartL() + { + TInt delay = 30; // For not calling RunL by itself + iDurationTimer->Start( delay ); + EUNIT_ASSERT( iDurationTimer->IsActive() ); + + iDurationTimer->Start( delay ); // Second call does nothing + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void UT_CMusEngSessionDurationTimer::UT_CMusEngSessionDurationTimer_RunLL() + { + // Fail + iDurationTimer->iStatus = KErrGeneral; + iDurationTimer->RunL(); + EUNIT_ASSERT( iObserver->IsReseted() ); + + // Success + iDurationTimer->iStatus = KErrNone; + iDurationTimer->RunL(); + EUNIT_ASSERT( iObserver->iUpdateTimerEventCalled ); + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +void UT_CMusEngSessionDurationTimer::UT_CMusEngSessionDurationTimer_DoCancelL() + { + // Cannot assert, so dummy case + iDurationTimer->Cancel(); + } + + + + + + +// TEST TABLE + +EUNIT_BEGIN_TEST_TABLE( + UT_CMusEngSessionDurationTimer, + "UT_CMusEngSesssionDurationTimer", + "UNIT" ) + +EUNIT_TEST( + "StartL - test ", + "CMusEngSessionDurationTimer", + "StartL", + "FUNCTIONALITY", + SetupL, UT_CMusEngSessionDurationTimer_StartL, Teardown) + +EUNIT_TEST( + "RunL - test ", + "CMusEngSessionDurationTimer", + "RunL", + "FUNCTIONALITY", + SetupL, UT_CMusEngSessionDurationTimer_RunLL, Teardown) + +EUNIT_TEST( + "DoCancel - test ", + "CMusEngSessionDurationTimer", + "DoCancel", + "FUNCTIONALITY", + SetupL, UT_CMusEngSessionDurationTimer_DoCancelL, Teardown) + + +EUNIT_END_TEST_TABLE + +// END OF FILE + +