// Copyright (c) 2007-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:
// Creation Date 17/01/2007
// MMF DevVideo CIU Test script
// 
//

//! @file
//! @SYMTestSuiteName          MM-MMF-DEVVIDEOCI-U
//! @SYMScriptTestEnvironment  This test runs using multimedia test framework using the following test list entry:
testframework.exe [path]\[this script name]. It requires no exceptional software or network support 
//////////////////////////

PRINT Run all the MMF DevVideo CIU unit tests 
PRINT 
//PAUSE_AT_END
// 

//
LOAD_SUITE tsu_mmf_devvideo_ciu_01.dll

// DEVVIDEOPLAY

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0001-HP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0001-HP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0002-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0002-CP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0003-HP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0003-HP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0004-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0004-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0005-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0005-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0006-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0006-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0007-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0007-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0008-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0008-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0009-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0009-CP
TEST_COMPLETE


// DEVVIDEORECORD
//
//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0101-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0101-CP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0102-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0102-CP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0103-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0103-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0104-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0104-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0105-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0105-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0106-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0106-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0107-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0107-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0108-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0108-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0109-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0109-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0110-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0110-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0111-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0111-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0112-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0112-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0113-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0113-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0114-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0114-CP
TEST_COMPLETE

// Play tests
//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0115-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0115-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0116-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0116-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0117-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0117-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0118-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0118-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0119-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0119-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0120-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0120-CP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0121-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0121-CP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0122-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0122-CP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0123-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0123-CP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0124-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0124-CP
TEST_COMPLETE 

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-0125-CP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0125-CP
TEST_COMPLETE 



//
// Negative Tests
//
//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-1001-LP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-1001-LP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-1002-LP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-1002-LP
TEST_COMPLETE

//! @SYMTestCaseID MM-MMF-DEVVIDEOCI-U-1003-LP

RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-1003-LP
TEST_COMPLETE

//
// DevVideo play rate tests
//
//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0300-CP
//! @SYMREQ                 REQ7419
//! @SYMTestCaseDesc        Test MMmfVideoPlayRateControl class MmvprcGetPlayRateCapabilitiesL() pure virtual method.
//! @SYMTestActions         The method MmvprcGetPlayRateCapabilitiesL() must get called and set a value. The getter method is used to retrieve the values and compared with those set. 
//! @SYMTestExpectedResults The value retrieved by the getter is the same as value set
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0300-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0301-CP
//! @SYMREQ                 REQ7419
//! @SYMTestCaseDesc        Test MMmfVideoPlayRateControl class MmvprcSetPlayRateL and MmvprcPlayRateL pure virtual methods.
//! @SYMTestActions         The method MmvprcSetPlayRateL must get called with a value. The MmvprcPlayRateL method is used to retrieve the values and compared with those set. 
//! @SYMTestExpectedResults The value retrieved by the MmvprcPlayRateL is the same as value set by MmvprcSetPlayRateL 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0301-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0302-CP
//! @SYMREQ                 REQ7419
//! @SYMTestCaseDesc        Test MMmfVideoPlayRateControl class pure virtual method MmvprcStepFrameL
//! @SYMTestActions         The method MmvprcStepFrameL must get called with a value. The getter method is used to retrieve the values and compared with those set. 
//! @SYMTestExpectedResults The values retrieved by the getter is the same as value set
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0302-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0303-CP
//! @SYMREQ                 REQ7419
//! @SYMTestCaseDesc        Test the pure virtual method MmvprcSetObserver of the class MMmfVideoPlayRateControl
//! @SYMTestActions         The method  MmvprcSetObserver must get called with a value. The getter method is used to retrieve the value and compared with those set. 
//! @SYMTestExpectedResults The value retrieved by the getter is the same as value set
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0303-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0304-CP
//! @SYMREQ                 REQ7419
//! @SYMTestCaseDesc        Test the pure virtual method MmvproStepFrameComplete of the class MMmfVideoPlayRateObserver.
//! @SYMTestActions         MdvproStepFrameCompleteCallback() should set a member data of type TBool to ETrue to check that the call back has been received.
//! @SYMTestExpectedResults There is no error and the callback is received.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0304-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0305-CP
//! @SYMREQ                 REQ7419
//! @SYMTestCaseDesc        Test the pure virtual method MmvproKeyFrameModeRequest of the class MMmfVideoPlayRateObserver.
//! @SYMTestActions         MdvproKeyFrameModeRequestCallback() should set a member data of type TBool to ETrue to check that the call back has been received.
//! @SYMTestExpectedResults There is no error and the callback is received.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0305-CP
TEST_COMPLETE

//CustomAPI for passing surface handle between decoder and postprocessor

//
// DevVideo play surfaceId tests
//
//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0311-CP
//! @SYMREQ                 REQ11522
//! @SYMTestCaseDesc        Test MMmfVideoSurfaceHandleControl class MmvshSurfaceHandle() pure virtual method
//! @SYMTestActions         The method MmvshcSurfaceHandle() must get called and set a value. 
//! @SYMTestExpectedResults The value retrieved by the getter is the same as value set
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0311-CP
TEST_COMPLETE  

//
// DevVideo play surfaceId tests
//
//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0312-CP
//! @SYMREQ                 REQ11522
//! @SYMTestCaseDesc        Test MMmfVideoSurfaceHandleControl class MmvshcRedrawBufferToSurface() pure virtual method
//! @SYMTestActions         The method MmvshcRedrawBufferToSurface() must get called and set a value. 
//! @SYMTestExpectedResults The value retrieved by the getter is the same as value set
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0312-CP
TEST_COMPLETE  

//
// DevVideo HwDevice tunneling tests
//
//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0320-CP
//! @SYMTestCaseDesc        Test MMmfVideoHwDeviceTunnel class methods.
//! @SYMTestActions         1) Retrieve a dummy HwDevice ptr
//!                         2) Set and retrieve a tunneled HwDevice ptr
//!                         Retrieve the pointer to it
//! @SYMTestExpectedResults Pointers are expected addresses
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_DEVVIDEO_CIU_01, MM-MMF-DEVVIDEOCI-U-0320-CP
TEST_COMPLETE 
