@file TSI_MMF_ACLNT_ARN.script
// Copyright (c) 2005-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:
//

# Audio Client Utilities Audio Resource Notification Tests

LOAD_SUITE TSI_MMFACLNT.DLL

delay 10000

/////////////////////////////////////////////////////////////////////
/////////////////////////// POSITIVE TESTS //////////////////////////
/////////////////////////////////////////////////////////////////////

######################### Audio Player tests #########################

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8101-HP
//!@SYMTestCaseDesc           Register for notification, but make no request to play audio
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Medium Priority iAudioPlayer[2] - High Priority a. Open 2 clients b. Open iAudioPlayer[1] c. Register
//! iAudioPlayer[1] for Notification d. Open and Play iAudioPlayer[2] e. iAudioPlayer[2] completes playing f. iAudioPlayer[1] is NOT notified (as it dis
//! not make a request for play)
//!@SYMTestExpectedResults    The Client which has registered for notification, but makes no request for playing, should not receive the notification.
//! KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8101-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8102-HP
//!@SYMTestCaseDesc           Register (b4 play, after Open) and Receive Notification of a Resource Available Event.(when audio resource is currently
//! unavailable and then available)
//!@SYMREQ                    REQ3834.1
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Low Priority iAudioPlayer[2] - High Priority a. Open 2 clients b. Open iAudioPlayer[1] c. Register iAudioPlayer[1]
//! for Notification d. Check if registration is successful, and notification is not received immediately. e. Open and Play iAudioPlayer[2] f. Play iAudioPlayer[1]
//! (get Play Error as iAudioPlayer[2] is still playing) g. iAudioPlayer[2] stops playing h. Check if iAudioPlayer[1] is notified.
//!@SYMTestExpectedResults    The Client should be able to receive the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8102-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8103-HP
//!@SYMTestCaseDesc           Register (at the time of Play) and Receive Notification of a Resource Available Event.(when audio resource is currently
//! available and subsequently unavailable, and then available)
//!@SYMREQ                    REQ3834.1
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Low Priority iAudioPlayer[2] - High Priority a. Open 2 clients b. Open and Play iAudioPlayer[1] c. Register
//! iAudioPlayer[1] for Notification d. Check if registration is successful, and notification is not received immediately. e. Open and Play iAudioPlayer[2]
//! f. iAudioPlayer[2] completes playing g. Check if iAudioPlayer[1] is notified.
//!@SYMTestExpectedResults    The Client should be able to receive the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8103-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8104-HP
//!@SYMTestCaseDesc           Registration (b4 File Open) and Cancellation of  the notification request
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Medium Priority iAudioPlayer[2] - High Priority a. Open 2 clients b. Register iAudioPlayer[1] for Notification
//! c. Check if registration is successful. d. Open and Play iAudioPlayer[1] e. Open and Play iAudioPlayer[2] f. Cancel the notification request for iAudioPlayer[1]
//! g. Check if cancellation is successful. h. iAudioPlayer[2] stops playing i. Check if iAudioPlayer[1] is NOT notified.
//!@SYMTestExpectedResults    The Client should be able to cancel the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8104-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8105-HP
//!@SYMTestCaseDesc           Register (after Play Error) and Get the actual position from where the paused audio can be resumed. Low priority client
//! is played first.
//!@SYMREQ                    REQ3837
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Medium Priority iAudioPlayer[2] - High Priority a. Open 2 clients b. Open and Play iAudioPlayer[1] c.
//! Open and Play iAudioPlayer[2] d. Play Error is received by iAudioPlayer[1]. Note the time when iAudioPlayer[1] is paused e. Register iAudioPlayer[1]
//! for Notification f. Check if registration is successful. g. iAudioPlayer[2] completes playing h. iAudioPlayer[1] is notified. i. Get the position, and
//! check whether it matches the position got from step d.
//!@SYMTestExpectedResults    The medium priority Client should be able to receive the offset time and that should be correct without any errors in the
//! process. KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8105-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8106-HP
//!@SYMTestCaseDesc           Register (after Play Error) and Get the actual position from where the paused audio can be resumed. High priority client
//! is played first.
//!@SYMREQ                    REQ3837
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Medium Priority iAudioPlayer[2] - High Priority a. Open 2 clients b. Open and Play iAudioPlayer[2] c.
//! Open and Play iAudioPlayer[1] d. Play Error is received by iAudioPlayer[1]. iAudioPlayer[1] not played. e. Register iAudioPlayer[1] for Notification
//! f. Check if registration is successful. g. iAudioPlayer[2] completes playing h. iAudioPlayer[1] is notified. i. Get the position, and check whether it
//! is zero (initial position).
//!@SYMTestExpectedResults    The medium priority Client should be able to receive the offset time and that should be correct without any errors in the
//! process. KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8106-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8107-HP
//!@SYMTestCaseDesc           Client does not need to Re-register for the same event when the event is received i.e API is not one shot. (Will resume
//! play is called)
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Medium Priority iAudioPlayer[2] - High Priority a. Open 2 clients b. Open and Play iAudioPlayer[1] c.
//! Register iAudioPlayer[1] for Notification e. Open and Play iAudioPlayer[2] g. iAudioPlayer[2] completes playing h. iAudioPlayer[1] is notified, calls
//! WillResumePlay() and after 5 seconds resumes playing. i. Play iAudioPlayer[2] again. j. iAudioPlayer[2] completes playing k. Check if iAudioPlayer[2]
//! is notified again.
//!@SYMTestExpectedResults    The Client should be able to register for notification only once, and should receive the notification if the resource is
//! lost and regained more than once succesfully. KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8107-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8108-HP
//!@SYMTestCaseDesc           Call WillResumePlay()
//!@SYMREQ                    REQ3837
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[1] - Medium Priority iAudioPlayer[2] - High Priority iAudioPlayer[3] - Low Priority a. Open 3 clients b. Open
//! and Play iAudioPlayer[1] c. Register iAudioPlayer[1] for Notification d. Register iAudioPlayer[3] for Notification e. Check if registration is successful.
//! f. Open iAudioPlayer[3] g. Open and Play iAudioPlayer[2] h. iAudioPlayer[2] stops playing i. iAudioPlayer[1] is notified. j. iAudioPlayer[1] calls WillResumePlay()
//! k. Check after 5 seconds, iAudioPlayer[3] does not get the notification. l. iAudioPlayer[1] starts playing. m. iAudioPlayer[1] completes playing. n.
//! Check if iAudioPlayer[3] gets the notification now.
//!@SYMTestExpectedResults    The low priority Client should NOT receive notification if the medium priority client calls WillResumePlay()
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8108-HP \audio.ini
TEST_COMPLETE

//CR1424:  high priority client 
//plays, low priority client does not get the resources when the high priority client is playing silence for every repeat.

RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8109-HP \audio.ini
TEST_COMPLETE

//DevCR KEVN-7T5EHA:  Dont register for ARN, get pre-empted and then resume from same position. 
//

RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8110-HP \audio.ini
TEST_COMPLETE

RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8111-HP \audio.ini
TEST_COMPLETE

RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8112-HP \audio.ini
TEST_COMPLETE

######################## Audio Recorder tests ########################

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8011-HP
//!@SYMTestCaseDesc           Register for notification, but make no request to play audio
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[1] - Medium Priority iAudioRecorder[2] - High Priority a. Open 2 clients b. Open iAudioRecorder[1] c. Register
//! iAudioRecorder[1] for Notification d. Open and Play iAudioRecorder[2] e. iAudioRecorder[2] completes playing f. iAudioRecorder[1] is NOT notified (as
//! it dis not make a request for play)
//!@SYMTestExpectedResults    The Client which has registered for notification, but makes no request for playing, should not receive the notification.
//! KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8011-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8012-HP
//!@SYMTestCaseDesc           Register (b4 play, after Open) and Receive Notification of a Resource Available Event.(when audio resource is currently
//! unavailable and then available)
//!@SYMREQ                    REQ3834.1
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[1] - Low Priority iAudioRecorder[2] - High Priority a. Open 2 clients b. Open iAudioRecorder[1] c. Register
//! iAudioRecorder[1] for Notification d. Check if registration is successful, and notification is not received immediately. e. Open and Play iAudioRecorder[2]
//! f. Play iAudioRecorder[1] (get Play Error as iAudioRecorder[2] is still playing) g. iAudioRecorder[2] stops playing h. Check if iAudioRecorder[1] is
//! notified.
//!@SYMTestExpectedResults    The Client should be able to receive the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8012-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8013-HP
//!@SYMTestCaseDesc           Register (at the time of Play) and Receive Notification of a Resource Available Event.(when audio resource is currently
//! available and subsequently unavailable, and then available)
//!@SYMREQ                    REQ3834.1
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[1] - Low Priority iAudioRecorder[2] - High Priority a. Open 2 clients b. Open and Play iAudioRecorder[1]
//! c. Register iAudioRecorder[1] for Notification d. Check if registration is successful, and notification is not received immediately. e. Open and Play
//! iAudioRecorder[2] f. iAudioRecorder[2] stops playing g. Check if iAudioRecorder[1] is notified.
//!@SYMTestExpectedResults    The Client should be able to receive the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8013-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8014-HP
//!@SYMTestCaseDesc           Registration (b4 File Open) and Cancellation of  the notification request
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[1] - Medium Priority iAudioRecorder[2] - High Priority a. Open 2 clients b. Register iAudioRecorder[1] for
//! Notification c. Check if registration is successful. d. Open and Play iAudioRecorder[1] e. Open and Play iAudioRecorder[2] f. Cancel the notification
//! request for iAudioRecorder[1] g. Check if cancellation is successful. h. iAudioRecorder[2] stops playing i. Check if iAudioRecorder[1] is NOT notifie
//!d.
//!@SYMTestExpectedResults    The Client should be able to cancel the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8014-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8015-HP
//!@SYMTestCaseDesc           Get the actual position from where the paused audio can be resumed.
//!@SYMREQ                    REQ3837
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[1] - Medium Priority iAudioRecorder[2] - High Priority a. Open 2 clients b. Open and Play iAudioRecorder[1]
//! c. Register iAudioRecorder[1] for Notification d. Check if registration is successful. e. Open and Play iAudioRecorder[2] f. Note the time when iAudioRecorder[1]
//! is paused g. iAudioRecorder[2] stops playing h. iAudioRecorder[1] is notified. i. Get the position, and check whether it matches the position got from
//! step f.
//!@SYMTestExpectedResults    The medium priority Client should be able to receive the offset time and that should be correct without any errors in the
//! process. KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8015-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8016-HP
//!@SYMTestCaseDesc           Call WillResumePlay()
//!@SYMREQ                    REQ3837
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[1] - Medium Priority iAudioRecorder[2] - High Priority iAudioRecorder[3] - Low Priority a. Open 2 clients
//! b. Open and Play iAudioRecorder[1] c. Register iAudioRecorder[1] for Notification d. Register iAudioRecorder[3] for Notification e. Check if registration
//! is successful. f. Open iAudioRecorder[3] g. Open and Play iAudioRecorder[2] h. iAudioRecorder[2] stops playing i. iAudioRecorder[1] is notified. j. iAudioRecorder[1]
//! calls WillResumePlay() k. Check after 1 second, iAudioRecorder[3] does not get the notification. l. iAudioRecorder[1] starts playing. m. iAudioRecorder[1]
//! completes playing. n. Check if iAudioRecorder[3] gets the notification now.
//!@SYMTestExpectedResults    The low priority Client should NOT receive notification if the medium priority client calls WillResumePlay()
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8016-HP \audio.ini
TEST_COMPLETE

##################### Audio Output Stream tests ######################

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8021-HP
//!@SYMTestCaseDesc           Register for notification, but make no request to play audio
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[1] - Medium Priority iAudioOutputStream[2] - High Priority a. Open 2 clients b. Open iAudioOutputStream[1]
//! c. Register iAudioOutputStream[1] for Notification d. Open and Play iAudioOutputStream[2] e. iAudioOutputStream[2] completes playing f. iAudioOutputStream[1]
//! is NOT notified (as it dis not make a request for play)
//!@SYMTestExpectedResults    The Client which has registered for notification, but makes no request for playing, should not receive the notification.
//! KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8021-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8022-HP
//!@SYMTestCaseDesc           Register (b4 play, after Open) and Receive Notification of a Resource Available Event.(when audio resource is currently
//! unavailable and then available)
//!@SYMREQ                    REQ3834.1
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[1] - Low Priority iAudioOutputStream[2] - High Priority a. Open 2 clients b. Open iAudioOutputStream[1]
//! c. Register iAudioOutputStream[1] for Notification d. Check if registration is successful, and notification is not received immediately. (after 1 second)
//! e. Open and Play iAudioOutputStream[2] f. Play iAudioOutputStream[1] (get Play Error as iAudioOutputStream[2] is still playing) g. iAudioOutputStream[2]
//! stops playing h. Check if iAudioOutputStream[1] is notified.
//!@SYMTestExpectedResults    The Client should be able to receive the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8022-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8023-HP
//!@SYMTestCaseDesc           Register (at the time of Play) and Receive Notification of a Resource Available Event.(when audio resource is currently
//! available and subsequently unavailable, and then available)
//!@SYMREQ                    REQ3834.1
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[1] - Low Priority iAudioOutputStream[2] - High Priority a. Open 2 clients b. Open and Play iAudioOutputStream[1]
//! c. Register iAudioOutputStream[1] for Notification d. Check if registration is successful, and notification is not received immediately. (after 1 second)
//! e. Open and Play iAudioOutputStream[2] f. iAudioOutputStream[2] stops playing g. Check if iAudioOutputStream[1] is notified.
//!@SYMTestExpectedResults    The Client should be able to receive the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8023-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8024-HP
//!@SYMTestCaseDesc           Registration (b4 File Open) and Cancellation of  the notification request
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[1] - Medium Priority iAudioOutputStream[2] - High Priority a. Open 2 clients b. Register iAudioOutputStream[1]
//! for Notification c. Check if registration is successful. d. Open and Play iAudioOutputStream[1] e. Open and Play iAudioOutputStream[2] f. Cancel the
//! notification request for iAudioOutputStream[1] g. Check if cancellation is successful. h. iAudioOutputStream[2] stops playing i. Check if iAudioOutputStream[1]
//! is NOT notified.
//!@SYMTestExpectedResults    The Client should be able to cancel the notification succesfully, without any errors in the process. KErrNone should be
//! returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8024-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8025-HP
//!@SYMTestCaseDesc           Get the offset time from where the paused audio can be resumed
//!@SYMREQ                    REQ3837
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[1] - Medium Priority iAudioOutputStream[2] - High Priority a. Open 2 clients b. Open and Play iAudioOutputStream[1]
//! c. Register iAudioOutputStream[1] for Notification d. Check if registration is successful. e. Open and Play iAudioOutputStream[2] f. Note the time when
//! iAudioOutputStream[1] is paused g. iAudioOutputStream[2] stops playing h. iAudioOutputStream[1] is notified. i. Get the offset position, and check whether
//! it is equal to 0 (for ReferenceDevSound).
//!@SYMTestExpectedResults    The medium priority Client should be able to receive the offset time and that should be correct without any errors in the
//! process. KErrNone should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8025-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-8026-HP
//!@SYMTestCaseDesc           Call WillResumePlay()
//!@SYMREQ                    REQ3837
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[1] - Medium Priority iAudioOutputStream[2] - High Priority iAudioOutputStream[3] - Low Priority a. Open
//! 2 clients b. Open and Play iAudioOutputStream[1] c. Register iAudioOutputStream[1] for Notification d. Register iAudioOutputStream[3] for Notification
//! e. Check if registration is successful. f. Open iAudioOutputStream[3] g. Open and Play iAudioOutputStream[2] h. iAudioOutputStream[2] stops playing i.
//! iAudioOutputStream[1] is notified. j. iAudioOutputStream[1] calls WillResumePlay() k. Check after 1 second, iAudioOutputStream[3] does not get the notification.
//! l. iAudioOutputStream[1] starts playing. m. iAudioOutputStream[1] completes playing. n. Check if iAudioOutputStream[3] gets the notification now.
//!@SYMTestExpectedResults    The low priority Client should NOT receive notification if the medium priority client calls WillResumePlay()
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-8026-HP \audio.ini
TEST_COMPLETE


/////////////////////////////////////////////////////////////////////
/////////////////////////// NEGATIVE TESTS //////////////////////////
/////////////////////////////////////////////////////////////////////

######################### Audio Player tests #########################

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1301-HP
//!@SYMTestCaseDesc           Register for notification with an unsupported event type.
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[0] - Medium Priority iAudioPlayer[1] - High Priority a. Create 2 clients b. Open & Play iAudioPlayer[0] c.
//! Open & Play iAudioPlayer[1] d. Register iAudioPlayer[0] for notification, passing an unsupported event type as parameter.
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1301-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1302-HP
//!@SYMTestCaseDesc           Cancel the request for notification with an unsupported event type.
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[0] - Medium Priority iAudioPlayer[1] - High Priority a. Create 2 clients b. Open & Play iAudioPlayer[0] c.
//! Open & Play iAudioPlayer[1] d. Register iAudioPlayer[0] for notification. e. Cancel the notification request for iAudioPlayer[0], passing an unsupported
//! event type as parameter.
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1302-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1303-HP
//!@SYMTestCaseDesc           Cancel when no resource Notification is requested.
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[0] - Medium Priority iAudioPlayer[1] - High Priority a. Create 2 clients b. Open & Play iAudioPlayer[0] c.
//! Open & Play iAudioPlayer[1] d. Cancel the notification request for iAudioPlayer[0]
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1303-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1304-HP
//!@SYMTestCaseDesc           Multiple Registration for notification for the same event type.
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioPlayer[0] - Medium Priority iAudioPlayer[1] - High Priority a. Create 2 clients b. Open & Play iAudioPlayer[0] c.
//! Open & Play iAudioPlayer[1] d. Register iAudioPlayer[0] for audio resource available notification e. Register iAudioPlayer[0] again for audio resource
//! available notification
//!@SYMTestExpectedResults    KErrInUse / KErrAlreadyExists should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1304-HP \audio.ini
TEST_COMPLETE


######################## Audio Recorder tests ########################

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1311-HP
//!@SYMTestCaseDesc           Register for notification with an unsupported event type.
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[0] - Medium Priority iAudioRecorder[1] - High Priority a. Create 2 clients b. Open & Play iAudioRecorder[0]
//! c. Open & Play iAudioRecorder[1] d. Register iAudioRecorder[0] for notification, passing an unsupported event type as parameter.
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1311-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1312-HP
//!@SYMTestCaseDesc           Cancel the request for notification with an unsupported event type.
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[0] - Medium Priority iAudioRecorder[1] - High Priority a. Create 2 clients b. Open & Play iAudioRecorder[0]
//! c. Open & Play iAudioRecorder[1] d. Register iAudioRecorder[0] for notification. e. Cancel the notification request for iAudioRecorder[0], passing an
//! unsupported event type as parameter.
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1312-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1313-HP
//!@SYMTestCaseDesc           Cancel when no resource Notification is requested.
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[0] - Medium Priority iAudioRecorder[1] - High Priority a. Create 2 clients b. Open & Play iAudioRecorder[0]
//! c. Open & Play iAudioRecorder[1] d. Cancel the notification request for iAudioRecorder[0]
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1313-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1314-HP
//!@SYMTestCaseDesc           Multiple Registration for notification for the same event type.
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioRecorder[0] - Medium Priority iAudioRecorder[1] - High Priority a. Create 2 clients b. Open & Play iAudioRecorder[0]
//! c. Open & Play iAudioRecorder[1] d. Register iAudioRecorder[0] for audio resource available notification e. Register iAudioRecorder[0] again for audio
//! resource available notification
//!@SYMTestExpectedResults    KErrInUse / KErrAlreadyExists should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1314-HP \audio.ini
TEST_COMPLETE


##################### Audio Output Stream tests ######################

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1321-HP
//!@SYMTestCaseDesc           Register for notification with an unsupported event type.
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[0] - Medium Priority iAudioOutputStream[1] - High Priority a. Create 2 clients b. Open & Play iAudioOutputStream[0]
//! c. Open & Play iAudioOutputStream[1] d. Register iAudioOutputStream[0] for notification, passing an unsupported event type as parameter.
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1321-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1322-HP
//!@SYMTestCaseDesc           Cancel the request for notification with an unsupported event type.
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[0] - Medium Priority iAudioOutputStream[1] - High Priority a. Create 2 clients b. Open & Play iAudioOutputStream[0]
//! c. Open & Play iAudioOutputStream[1] d. Register iAudioOutputStream[0] for notification. e. Cancel the notification request for iAudioOutputStream[0],
//! passing an unsupported event type as parameter.
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1322-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1323-HP
//!@SYMTestCaseDesc           Cancel when no resource Notification is requested.
//!@SYMREQ                    REQ3834.3
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[0] - Medium Priority iAudioOutputStream[1] - High Priority a. Create 2 clients b. Open & Play iAudioOutputStream[0]
//! c. Open & Play iAudioOutputStream[1] d. Cancel the notification request for iAudioOutputStream[0]
//!@SYMTestExpectedResults    KErrNotSupported should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1323-HP \audio.ini
TEST_COMPLETE

//
//!@SYMTestCaseID             MM-MMF-ACLNT-I-1324-HP
//!@SYMTestCaseDesc           Multiple Registration for notification for the same event type.
//!@SYMREQ                    REQ3834
//!@SYMPREQ                   PREQ797
//!@SYMTestPriority           2
//!@SYMTestActions            iAudioOutputStream[0] - Medium Priority iAudioOutputStream[1] - High Priority a. Create 2 clients b. Open & Play iAudioOutputStream[0]
//! c. Open & Play iAudioOutputStream[1] d. Register iAudioOutputStream[0] for audio resource available notification e. Register iAudioOutputStream[0] again
//! for audio resource available notification
//!@SYMTestExpectedResults    KErrInUse / KErrAlreadyExists should be returned.
RUN_TEST_STEP 600000 ACLNT MM-MMF-ACLNT-I-1324-HP \audio.ini
TEST_COMPLETE
