phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:15:03 +0100
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:
*
*/

#ifndef __IT_EMERGENCYCALLTESTS_H__
#define __IT_EMERGENCYCALLTESTS_H__

// INCLUDES
#include <CEUnitTestSuiteClass.h>
#include <EUnitDecorators.h>

#include <MPhCltEmergencyCallObserver.h>

// FORWARD DECLARATIONS
class CPhCltEmergencyCall;
class CEtel;

// CLASS DEFINITION
/**
 * Generated EUnit test suite class.
 */
NONSHARABLE_CLASS( IT_EmergencyCallTests )
	: public CEUnitTestSuiteClass, private MPhCltEmergencyCallObserver
    {
    public:  // Constructors and destructor

        static IT_EmergencyCallTests* NewL();
        static IT_EmergencyCallTests* NewLC();
        ~IT_EmergencyCallTests();

    private: // Constructors

        IT_EmergencyCallTests();
        void ConstructL();
        
        void HandleEmergencyDialL( const TInt aStatus );

    private: // New methods
        
         void DoTestValidEmergencyNumberL( const TDesC& aNumber );
         void DoTestInvalidEmergencyNumberL( const TDesC& aNumber );
         
         void DoTestFindValidEmergencyNumberL( const TDesC& aNumber, 
             const TDesC& aExpectedFoundEmergencyNumber );
         void DoTestFindInvalidEmergencyNumberL( const TDesC& aNumber );

         void SetupL();
         void SetupWithEtelL();
         void Teardown();     
         
         void TestConstructionL();
         void Test112L();
         void TestHash31Hash112L();
         void TestStar31Hash112L();
         void Test112WithDtmfL();
         void Test112WithDtmf_2L();
         void TestPlusSignBefore112L();
         void TestCLIR112DTMFL();
         
         void TestInvalidEmergencyNumber_1L();
         void TestInvalidEmergencyNumber_2L();
         void TestInvalidEmergencyNumber_3L();
         void TestInvalidEmergencyNumber_4L();
         void TestInvalidEmergencyNumber_5L();
         void TestInvalidEmergencyNumber_6L();
         void TestInvalidEmergencyNumber_7L();
         void TestInvalidEmergencyNumber_8L();
         void TestInvalidEmergencyNumber_9L();
         void TestInvalidEmergencyNumber_10L();
         void TestInvalidEmergencyNumber_11L();
         void TestInvalidEmergencyNumber_12L();
         void TestInvalidEmergencyNumber_13L();
         void TestInvalidEmergencyNumber_14L();
         void TestInvalidEmergencyNumber_15L();
         void TestInvalidEmergencyNumber_16L();
         void TestInvalidEmergencyNumber_17L();
         void TestInvalidEmergencyNumber_18L();
         
         void TestFindingEmergencyNumber_1L();
         void TestFindingEmergencyNumber_2L();
         void TestFindingEmergencyNumber_3L();
         
         void TestCallingEmergencyCallWithInvalidEmergencyNumberL();
         void TestEmergencyCallL();

    private: // Data
        
        CPhCltEmergencyCall* iEmergency;
        CEtel* iEtel;
        
        TInt iReceivedDialStatus;

        EUNIT_DECLARE_TEST_TABLE;

    };

#endif      //  __IT_EMERGENCYCALLTESTS_H__