@file tsi_mvs_audioagent.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:
// Creation Date 10/08/2005
// 
//

PRINT Run the Multimedia Validation Audio Client Agent tests
PRINT 

//
LOAD_SUITE tsi_mvs_agents.dll

//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// AUDIO CLIENT AGENTS :: Positive Testing ////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////

// 
RUN_UTILS CopyFile c:\mvs\oggtest01.ogg c:\mvs\oggtest02.ogg
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0001-HP
//!@SYMTestCaseDesc           OGG Vorbis Play, Pause and Change Position. Record.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open an Ogg-Vorbis file passing in the Ogg-Controller UID. 2. Set position 3. Play 4. Pause after 2 seconds 5. Get Position
//! 6. Set position to some other position (before the current position) 7. Play till end. 8. Set maximum length of the bytes to record. 9. Record (appends
//! data to the file). 10. Once recording completes, check the length of the clip.
//!@SYMTestExpectedResults    Play should complete with KErrNone.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0001-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
RUN_UTILS CopyFile c:\mvs\wavtest01.wav c:\mvs\wavtest02.wav
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0002-HP
//!@SYMTestCaseDesc           WAV Repeat Play and Check Record Duration
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open a WAV file (Passing in the Ref. Audio controller UID) 2. Set Repeat Count to 3 3. Set Repeat delay to 1 second 4.
//! Play 5. Set Volume to Maximum. 6. Set Balance. 7. Check for Play complete callback. 8. Get Clip duration. 9. Record (appends data to the file) 10. Stop
//! recording after 5 seconds 11. Get clip duration and check.
//!@SYMTestExpectedResults    Play should complete with KErrNone.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0002-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
RUN_UTILS CopyFile c:\mvs\oggtest01.ogg c:\mvs\oggtest02.ogg
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0003-HP
//!@SYMTestCaseDesc           OGG play window & Other Play & Record settings.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open a OGG Vorbis file. 2. Define a play window 3. Play 4. Modify Volume to 75% of maximum 5. Set balance 6. Wait for
//! play complete event. 7. Get the bit-rate 8. Open the file for Recording 9. Set Gain to 50% 10. Record 11. Stop after 5 seconds 12. Check the bit-rate
//! and verify.
//!@SYMTestExpectedResults    Play should complete with KErrNone.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0003-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0004-HP
//!@SYMTestCaseDesc           Create a new OGG vorbis file. Record with Max Gain and adjust volume during play.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Create a New OGG Vorbis file. 2. Set Gain to Maximum. 3. Set Record balance. 4. Record. 5. Stop after 5 seconds and check
//! the duration of the recorded clip. 6. Play. 7. While Playing, adjust the volume. 8. Wait till play completes.
//!@SYMTestExpectedResults    Recording and play should function normally, and the various callbacks received with KErrNone
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0004-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0005-HP
//!@SYMTestCaseDesc           Create a new WAV file. Record at 50% of maximum gain and with maximum bytes as 1000.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Create a New WAV file. 2. Set Gain to 50% Maximum. 3. Set Record balance. 4. Record. 5. Stop after 5 seconds and check
//! the duration of the recorded clip. 6. Play. 7. While Playing, adjust the volume. 8. Wait till play completes.
//!@SYMTestExpectedResults    Recording and play should function normally, and the various callbacks received with KErrNone
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0005-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0006-HP
//!@SYMTestCaseDesc           Audio Play agent settings verification test
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open an Ogg-Vorbis file. 2. Get the meta data entries and verify (with known values) 3. Get the bit-rate of the Audio
//! file and verify 4. Get the name of the currently active controller plug-in.
//!@SYMTestExpectedResults    The various playback settings are verified and displayed with KErrNone
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0006-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0007-HP
//!@SYMTestCaseDesc           Audio Record agent format configuration test
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open an Ogg-Vorbis file for recording. 2. Get the supported Destination Bit Rates. 3. Set the Destination Bit Rate. 4.
//! Get the supported Destination Sample Rates. 5. Set the Destination Sample Rate 6. Get the supported Destination Number Of Channels 7. Set the Destination
//! Number Of Channels 8. Get the supported Destination Data Types 9. Set the Destination Data Type.
//!@SYMTestExpectedResults    The various settings are set and displayed with KErrNone
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0007-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
RUN_UTILS CopyFile c:\mvs\oggtest01.ogg c:\mvs\oggtest02.ogg
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0008-HP
//!@SYMTestCaseDesc           Audio cropping (before & after position).
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open a Ogg-Vorbis File. 2. Crop the clip from a start position to an end position. 3. Verify the length of the cropped
//! clip.
//!@SYMTestExpectedResults    Doesn't leave.                                                 First the trailing part is cropped and then the leading part
//! is cropped. (clip duration adjusted accordingly)
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0008-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0009-HP
//!@SYMTestCaseDesc           Meta-information test
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open an existing Ogg-Vorbis File. 2. Add two meta-Information to be written to the clip header. 3. After recording open
//! file and check meta information. 4. Replace a meta entry 5. Get the meta entries and check 7. Play 8. Delete a meta-data entry 9. Wait till play completes
//! 10. Get the the meta entries and check the count.
//!@SYMTestExpectedResults    Meta Information is set correctly and is retrieved with identical strings.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0009-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0012-HP
//!@SYMTestCaseDesc           Log Verification test for Create a new OGG Vorbis File and Record functionality.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Empty the contents of the log file 2. Create a new Ogg-Vorbis File 3. Record for 2 seconds 4. Compare the log file with
//! the reference log file.
//!@SYMTestExpectedResults    The Log file is checked for modification dates, and the existance of a sample string.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0012-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0013-HP
//!@SYMTestCaseDesc           Log Verification test for  Play the recorded OGG Vorbis file functionality.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Empty the contents of the log file 2. Open the recorded Ogg-Vorbis File 3. Play using the Audio Play Agent 4. Compare
//! the log file with the reference log file.
//!@SYMTestExpectedResults    The Log file is checked for modification dates, and the existance of a sample string.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0013-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////// AUDIO CLIENT AGENTS :: Negative Testing ////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////


// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0014-HP
//!@SYMTestCaseDesc           Try to open another audio file when one file is already opened.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open an audio File. 2. Open another file.
//!@SYMTestExpectedResults    The Audio Agent should reply with KErrNotReady ?
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0014-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0015-HP
//!@SYMTestCaseDesc           Open Unsupported file (MP3 file) and try to play.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open a file with extension '.ogg' containing MP3 Audio data. 2. Try to Play.
//!@SYMTestExpectedResults    Invalid File.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0015-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0016-HP
//!@SYMTestCaseDesc           Open the same file using record agent while audio play agent is playing the file.
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Initialise and open an audio file. 2. Begin Play 3. As it is playing attempt to open a new audio file, using Audio Record
//! agent.
//!@SYMTestExpectedResults    KErrInUse
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0016-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0017-HP
//!@SYMTestCaseDesc           Record audio to unsupported file (MP3 File).
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open a file with extension '.ogg' containing MP3 Audio data. 2. Attempt to record audio to that file.
//!@SYMTestExpectedResults    KErrNotSupported.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0017-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0018-HP
//!@SYMTestCaseDesc           Record audio to unsupported file (Text File).
//!@SYMREQ                    REQ5477
//!@SYMPREQ                   PREQ452
//!@SYMTestPriority           2
//!@SYMTestActions            1. Open a text file (*.txt) without giving the controller UID. 2. Start recording 3. Stop recording after two seconds.
//!@SYMTestExpectedResults    Invalid File.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0018-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE

// 
RUN_UTILS CopyFile c:\mvs\wavtest01.wav c:\mvs\wavtest02.wav
//!@SYMTestCaseID             MM-MVS-AUDIOAGENT-I-0019-HP
//!@SYMTestCaseDesc           Play-Pause-Play audio
//!@SYMREQ                    
//!@SYMPREQ                   
//!@SYMTestPriority           2
//!@SYMTestActions             1. Open a WAV file (Passing in the Ref. Audio controller UID)
//!                            2. Start playback
//!                            3. After 2 seconds pause the audio
//!                            4. Verify position is maintained while paused
//!                            5. Resume playback until EOF
//!@SYMTestExpectedResults    Audio should be paused, position should be maintained while paused.
RUN_TEST_STEP 600000 TSI_MVS_AGENTS MM-MVS-AUDIOAGENT-I-0019-HP \mvs\tsi_mvs_agents.ini
TEST_COMPLETE
