devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_play_tone.script
changeset 0 b8ed18f6c07b
child 2 5c1df44f2eed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/devsound/a3fcharacterisationtest/scripts/mm_a3f_devsound_play_tone.script	Thu Oct 07 22:34:12 2010 +0100
@@ -0,0 +1,1142 @@
+// Copyright (c) 2008-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:
+// MM_A3F_DEVSOUND_CHRTZ_TONE.script
+// Syntax:
+// RUN_TEST_STEP <timeout>, <test suite>,  <test step>, <configuration file.ini>
+//
+
+LOAD_SUITE char_a3f_devsound.dll
+delay 10
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0001
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetConfigL(..) method to set sampling rate and channel
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//2. Call SetConfigL(..) method to set Sampling Rate and iChannel to valid values.
+//3. Call Config() to verify applied settings.
+//!@SYMTestExpectedResults: 
+//SetConfigL(..) method shall be executed without error message.
+PRINT Play tone configuration - Call SetConfigL(..) method to set sampling rate and channel
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0001, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0002
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetPrioritySettings(..) method to set priority
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetPrioritySettings(..) method to set iPriority to a valid value.
+//!@SYMTestExpectedResults: 
+//SetPrioritySettings(..) method shall be executed without error message.
+PRINT Play tone configuration - Call SetPrioritySettings(..) method to set priority
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0002, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0003
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - SetVolume(..) method to set volume
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and initialise a DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetVolume(..) method.
+//3. Call Volume() method to verify applied settings.
+//!@SYMTestExpectedResults: 
+//SetVolume(..) method shall be executed without error message.
+//Value returned by Volume() method shall be equal to the value set by SetVolume(..).
+PRINT Play tone configuration - SetVolume(..) method to set volume
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0003, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0004
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetVolumeRamp(..)  method to set volume ramp
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Initialise a DevSound instance to play tones.
+//2.1 Wait for InitializeComplete(KErrNone) callback response.
+//3. Call PlayToneL().
+//4. Call SetVolumeRamp(..) method to set volume ramp to valid value.
+//!@SYMTestExpectedResults: 
+//SetVolumeRamp(..) method shall be executed without error message and the its settings shall be reflected the next time PlayToneL() is called.
+PRINT Play tone configuration - Call SetVolumeRamp(..)  method to set volume ramp
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0004, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0005
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetToneRepeats() to set tone repetitions and silence between them
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and initialise a DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetToneRepeats(..) method to set repetition and silece values between them.
+//!@SYMTestExpectedResults: 
+//SetToneRepeats(..) method shall be executed without error message.
+PRINT Play tone configuration - Call SetToneRepeats() to set tone repetitions and silence between them
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0005, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0006
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetDTMFLengths(..) to set DTMF tone on, tone off and tone pause.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetDTMFLengths(..) method to set length (tone on, tone off, and pause) values.
+//!@SYMTestExpectedResults: 
+//SetDTMFLengths(..) method shall be executed without error message.
+PRINT Play tone configuration - Call SetDTMFLengths(..) to set DTMF tone on, tone off and tone pause.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0006, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0007
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - SetVolume(..) while tone play is in progress
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Play a tone by calling PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call SetVolume(..) method to set volume to a valid value.
+//7. Call Volume() method to verify applied settings.
+//!@SYMTestExpectedResults: 
+//SetVolume(..) is immediately applied.
+PRINT Play tone configuration - SetVolume(..) while tone play is in progress
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0007 , c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0008
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - SetPlayBalance() while tone play is in progress
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance .
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Play a tone by calling PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call SetPlayBalance(..) method to set the speaker balance to valid values.
+//7. Call GetPlayBalanceL() method to verify applied settings.
+//!@SYMTestExpectedResults: 
+//SetPlayBalance(..) method while playing shall be executed without error message and its paremeters are immediately applied.
+//Data retrieved by GetPlayBalance(..)  method shall be equal to the value set by SetPlayBalance(..).
+PRINT Play tone configuration - SetPlayBalance() while tone play is in progress
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0008, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0010
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetVolume(..) method to set volume and reinitialise for playing audio.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Initialise a DevSound instance to play tones.
+//2.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call SetVolume(..)
+//5. Re-initialise a DevSound instance to play audio.
+//6. Call Volume() method to verify whether the volume was remembered or not.
+//!@SYMTestExpectedResults: 
+//SetVolume(..) method shall be executed without error message.
+//After reinitialisation of Devsound client, the calling of Volume() method shall return the value which was set by using SetVolume() method.
+//(Volume settings shall not be modified despite DevSound client reinitialisation).
+PRINT Play tone configuration - Call SetVolume(..) method to set volume and reinitialise for playing audio.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0010, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0011
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetVolumeRamp(..)  method to set volume ramp
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(..).
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call SetVolumeRamp(..) method to set volume ramp to valid value
+//7. Let ToneFinished() occur and play again a tone.
+//!@SYMTestExpectedResults: 
+//SetVolumeRamp(..) method shall be executed without error message and the its settings shall be reflected the next time PlayToneL() is called.
+PRINT Play tone configuration - Call SetVolumeRamp(..)  method to set volume ramp
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0011, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0012
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetToneRepeats() to set tone repetitions while playing
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL().
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call SetToneRepeats(..) method using positive values and call Cancel().
+//7. Let ToneFinished() callback occur, then re - invoke PlayToneL().
+//8. When ToneFinished callback is reached, confirm elapsed time since first tone reproduction.
+//!@SYMTestExpectedResults: 
+//SetToneRepeats(..) method shall be executed without error message. Setting audio properties using this method do not cancel 
+//or change current tone play. The new settings are applied until next tone play and total reproduction time since firts tone
+//reproduction has to be confirmed.
+PRINT Play tone configuration - Call SetToneRepeats() to set tone repetitions while playing
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0012, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0013
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetDTMFLengths() to set tone repetitions while playing
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones(DTMF).
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Play a tone  by calling PlayDTMFStringL().
+//5. On timer event call SetDTMFLengths(..) method using positive values and call Cancel() on the timer.
+//6. Let ToneFinished() callback occur, then re - invoke PlayDTMFStringL().
+//7. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//8. When ToneFinished callback is reached, confirm elapsed time since first tone(DTMF) reproduction.
+//!@SYMTestExpectedResults: 
+//SetDTMFLengths(..) method shall be executed without error message. Setting audio properties using this method do not cancel or
+//change current tone play. The new settings are applied until next tone play and total reproduction time since firts tone reproduction
+//has to be confirmed.
+PRINT Play tone configuration - Call SetDTMFLengths() to set tone repetitions while playing
+RUN_TEST_STEP 40000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0013, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0014
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetToneRepeats() to set tone repetitions in any other state but tone
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Initialise a DevSound instance to other available states but tone.
+//2.1 Wait for InitializeComplete(KErrNone) callback response.
+//3. Call SetToneRepeats(..) method using positive values.
+//4. Initialise a DevSound instance to other available states but tone.
+//4.1 Wait for InitializeComplete(KErrNone) callback response.
+//5. Play a tone  by calling PlayToneL().
+//6. When ToneFinished callback is reached, confirm elapsed time since tone reproduction.
+//!@SYMTestExpectedResults: 
+//SetToneRepeats(..) method shall be executed without error message.The configuration values are remembered and may be used following a subsequent InitializeL() for tone play. They are not reset by that InitializeL() call. 
+PRINT Play tone configuration - Call SetToneRepeats() to set tone repetitions in any other state but tone
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0014, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0015
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetDTMFLengths() to set tone repetitions in any other state but tone
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Initialise a DevSound instance to other available states but tone.
+//2.1 Wait for InitializeComplete(KErrNone) callback response.
+//3. Call SetDTMFLengths(..) method using positive values.
+//4. Initialise a DevSound instance to other available states but tone.
+//4.1 Wait for InitializeComplete(KErrNone) callback response.
+//5. Play a tone  by calling PlayToneL().
+//6. When ToneFinished callback is reached, confirm elapsed time since tone reproduction.
+//!@SYMTestExpectedResults: 
+//SetDTMFLengths(..) method shall be executed without error message.The configuration values are remembered and may be used following a subsequent InitializeL() for tone play. They are not reset by that InitializeL() call. 
+PRINT Play tone configuration - Call SetDTMFLengths() to set tone repetitions in any other state but tone
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0015, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0016
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetConfigL() while tone play is in progress
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Play a tone by calling PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call SetConfigL(..) method to set Sampling Rate to valid value.
+//!@SYMTestExpectedResults: 
+//SetConfigL(..) method shall leave with KErrNotReady.
+PRINT Play tone configuration - Call SetConfigL() while tone play is in progress
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0016, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0017
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetPrioritySettings(..) method to set priority while tone play is in progress
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create a DevSound instance.
+//2. Open the file to be played by the second DevSound instance.
+//3. Create a CPeriodic instance.
+//4. Create a second DevSound instance.
+//5. Initialise the first DevSound instance to play tones.
+//5.1 Wait for InitializeComplete(KErrNone) callback response.
+//6. Call PlayToneL() to start playing tones and call SetPrioritySettings() to set the first devsound´s priority to the highest value.
+//7. Start CPeriodic to trigger timed events with a period of 2 seconds.(Timer events must laste less than tone duration.)
+//8. On timer event, initialise the second devsound instance, set its priority to the highest value, and play an audio file. 
+//!@SYMTestExpectedResults: 
+//SetPrioritySettings(..) method shall be executed without error message. The first DevSound instance(Tones) must be pre-empted because setting the priority while playing is ignored
+PRINT Play tone configuration - Call SetPrioritySettings(..) method to set priority while tone play is in progress
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0017, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0018
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetConfigL(..) method to set a sample rate with sequence data properties not supported by the tone generator 
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetConfigL(..) method to set Sampling Rate to invalid values.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrArgument or KErrNotSupported.
+PRINT Play tone configuration - Call SetConfigL(..) method to set a sample rate with sequence data properties not supported by the tone generator 
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0018, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0019
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetConfigL(..) method to set a channel encoding to unsupported value
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetConfigL(..) method to set iChannel to invalid values.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrArgument or KErrNotSupported.
+PRINT Play tone configuration - Call SetConfigL(..) method to set a channel encoding to unsupported value
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0019, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0020
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetDTMFLengths(..) to using negative values
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to record audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetDTMFLengths(..) to set lengths to negative values (aToneOnLength must be diferent to -1.)
+//3. Play a DTMF tone.
+//4. When ToneFinished() callback is reached, confirm elapsed time since first tone reproduction.
+//!@SYMTestExpectedResults: 
+//After setting the DTMF lengths by calling SetDTMFLengths(..), the reproduction time shall be confirmed to tend to 0
+PRINT Play tone configuration - Call SetDTMFLengths(..) to using negative values
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0020, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0021
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetDTMFLengths(..) to using negative values
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call SetDTMFLengths(..) to set lengths to positive except ToneOnLenght(aToneOnLength must be equal to -1.)
+//5. Call PlayDTMFStringL().
+//!@SYMTestExpectedResults: 
+//After setting the DTMF lengths by calling SetDTMFLengths(..), the tone on reproduction time is preserved. If tone finished is reached before timer event, then the test should fail.
+PRINT Play tone configuration - Call SetDTMFLengths(..) to using negative values
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0021, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0022
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetToneRepeats() using a negative RepeatCount
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to record audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call SetToneRepeats(..) to set lengths to negative values (aRepeatCount  must be diferent to KMdaRepeatForever.)
+//3. Play a tone by calling PlayToneL(..).
+//4. When ToneFinished() callback is reached, confirm elapsed time since first tone reproduction.
+//!@SYMTestExpectedResults: 
+//SetToneRepeats(..) method shall be executed without error message. After calling SetToneRepeats(..), the total reproduction time should tend to 0.
+PRINT Play tone configuration - Call SetToneRepeats() using negative argumets
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0022, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0023
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetToneRepeats() using negative RepeatCount
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call SetToneRepeats(..) to set RepeatCount to negative (KMdaRepeatForever).
+//5. Play a tone by calling PlayToneL(..).
+//6. Start CPeriodic to trigger timed events with a period of 10 seconds.
+//!@SYMTestExpectedResults: 
+//SetToneRepeats(..) method shall be executed without error message. If ToneFinished() is reached before timer event, then the test should fail.
+PRINT Play tone configuration - Call SetToneRepeats() using negative RepeatCount
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0023, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0024
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Capabilities() to retrieve all the supported capabilities
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call Capabilities() method to get all supported sample rates and channel encodings.
+//!@SYMTestExpectedResults: 
+//Capabilities() method shall retrieve a set of supported capabilities.
+PRINT Play tone query - Call Capabilities() to retrieve all the supported capabilities
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0024, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0025
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Config() to retrieve the default capabilities, sampling rate and channel encoding used
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1.Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2.Call Config() method to get Sampling Rate and iChannel encoding.
+//!@SYMTestExpectedResults: 
+//Config() method shall retrieve current default sample rate and channel encoding.
+PRINT Play tone query - Call Config() to retrieve the default capabilities, sampling rate and channel encoding used
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0025, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0026
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call MaxVolume() to retrieve the max volume suported by the device
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call MaxVolume() method to get maximum volume for current device.
+//!@SYMTestExpectedResults: 
+//MaxVolume() method shall retrieve the max device´s volume.
+PRINT Play tone query - Call MaxVolume() to retrieve the max volume suported by the device
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0026, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0027
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Volume() to retrieve default device volume
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call Volume(..) method to get current volume value.
+//!@SYMTestExpectedResults: 
+//Volume() shall retrieve the current device volume.
+PRINT Play tone query - Call Volume() to retrieve default device volume
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0027, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0028
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Capabilities() to retrieve all the supported capabilities while playing
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call Capabilities() method to get all supported sample rates and channel encodings while tone play is in progress.
+//!@SYMTestExpectedResults: 
+//Capabilities() method shall retrieve a set of supported capabilities.
+PRINT Play tone query - Call Capabilities() to retrieve all the supported capabilities while playing
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0028, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0029
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Config() to retrieve the current capabilities, sampling rate and channel encoding used while playing
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call Config() method to get Sampling Rate and iChannel encoding while tone play is in progress.
+//!@SYMTestExpectedResults: 
+//Config() method shall retrieve current sample rate and channel encoding.
+PRINT Play tone query - Call Config() to retrieve the current capabilities, sampling rate and channel encoding used while playing
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0029, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0030
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call MaxVolume() to retrieve the max volume suported by the device while playing
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call MaxVolume() method to get maximum volume for current device while tone play is in progress.
+//!@SYMTestExpectedResults: 
+//MaxVolume() method shall retrieve the max device´s volume.
+PRINT Play tone query - Call MaxVolume() to retrieve the max volume suported by the device while playing
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0030, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0031
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Volume() to retrieve the default device volume while playing
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event call Volume(..) method to get current volume value while tone play is in progress.
+//!@SYMTestExpectedResults: 
+//Volume() shall retrieve the current device volume.
+PRINT Play tone query - Call Volume() to retrieve the default device volume while playing
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0031, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0036
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Call PlayToneL()  to play a tone
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call PlayToneL() method.
+//2.1 Wait for ToneFinished() callback.
+//!@SYMTestExpectedResults: 
+//Tone once shall be played.
+//ToneFinished(KErrUnderFlow) callback shall be received.
+PRINT Play tone - Call PlayToneL()  to play a tone
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0036, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0037
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Call PlayDualToneL() to play a dual tone
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call PlayDualToneL() method.
+//2.1 Wait for ToneFinished() callback.
+//!@SYMTestExpectedResults: 
+//Dual tone shall be played.
+//ToneFinished(KErrUnderFlow) callback shall be received
+PRINT Play tone - Call PlayDualToneL() to play a dual tone
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0037, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0038
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Call PlayDTMFStringL() to play a dual tone multi frequency string
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call PlayDTMFStringL() method with DTMFString = 01234, 56789, ABCDEF#*
+//2.1 Wait for ToneFinished() callback.
+//!@SYMTestExpectedResults: 
+//DTMF string shall be played.
+//ToneFinished(KErrUnderFlow) callback shall be received
+PRINT Play tone - Call PlayDTMFStringL() to play a dual tone multi frequency string
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0038, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0039
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Call PlayToneSequenceL() to play a tone sequence.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Normal Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call PlayToneSequenceL() method
+//2.1 Wait for ToneFinished() callback.
+//!@SYMTestExpectedResults: 
+//Tone sequence shall be played.
+//ToneFinished(KErrUnderFlow) callback shall be received.
+PRINT Play tone - Call PlayToneSequenceL() to play a tone sequence.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0039, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0040
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Once - New tone request. The client wants to play new tone while there is one already playing.  
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Start the CPeriodic object.
+//5. Call PlayToneL().
+//6. After a 2 second periodic timer event, play another tone using the same DevSound instance.
+//7. Wait for the ToneFinished() callback.
+//!@SYMTestExpectedResults: 
+//First tone request shall be played. DevSound silently ignores the second tone play request. 
+//New tone play request do not cancels the current tone play.
+PRINT Play tone - Once - New tone request. The client wants to play new tone while there is one already playing.  
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0040, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0043
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Once - Stop. The client wants to play a tone for a while and stop it. DevSound is initialized
+//to tone play after Stop.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Play a tone using PlayToneL().(For testing purposes, the tone should last more than the timer event)
+//4. On the timer event, after one second, call Stop() to stop the ongoing play tone operation.
+//5. Again play a tone using PlayToneL().
+//!@SYMTestExpectedResults: 
+//Tone play is stopped and DevSound goes to “Initialized to Play Tone” state, second tone request is accepted. 
+//Stop() is synchronous and it should not invoke callbacks through MDevSoundObserver.
+PRINT Play tone - Once - Stop. The client wants to play a tone for a while and stop it. DevSound is initialized to tone play after Stop.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0043, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0044
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Dual tone - Stop. The client wants to play a dual tone for a while and stop it. 
+//DevSound is initialized to tone play after Stop.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Call PlayDualToneL(). (For testing purposes, the tone should last more than the timer event)
+//4. On the timer event, after one second, call Stop() to stop the ongoing operation.
+//5. Again play a tone using PlayDualToneL().
+//!@SYMTestExpectedResults: 
+//Tone play is stopped and DevSound goes to “Initialized to Play Tone” state, second tone request is accepted.
+//Stop() is synchronous and it should not invoke callbacks through MDevSoundObserver.
+PRINT Play tone - Dual tone - Stop. The client wants to play a dual tone for a while and stop it. 
+//DevSound is initialized to tone play after Stop.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0044, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0045
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - DTMF - Stop. The client wants to play a DTMF tone for a while a stop it. DevSound is initialized to tone play after Stop.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Call PlayDTMFStringL() method with DTMFString = 01234, 56789, ABCDEF#*.
+//4. On the timer event, after one second, call Stop() to stop the ongoing operation.
+//5. Again play a tone using PlayDTMFStringL().
+//!@SYMTestExpectedResults: 
+//Tone play is stopped and DevSound goes to “Initialized to Play Tone” state, second tone request is accepted. Stop() is synchronous and it should not invoke callbacks through MDevSoundObserver.
+PRINT Play tone - DTMF - Stop. The client wants to play a DTMF tone for a while a stop it. DevSound is initialized to tone play after Stop.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0045, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0046
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Tone sequence - Stop. The client wants to play a tone sequence for a while and stop it. DevSound is initialized to tone play after Stop.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Call PlayToneSequenceL() method. (For testing purposes, the tone should last more than the timer event)
+//4. On the timer event, after one second, call Stop() to stop the ongoing operation.
+//5. Again play a tone using PlayToneSequenceL().
+//!@SYMTestExpectedResults: 
+//Tone play is stopped and DevSound goes to “Initialized to Play Tone” state, second tone request is accepted. Stop() is synchronous and it should not invoke callbacks through MDevSoundObserver.
+PRINT Play tone - Tone sequence - Stop. The client wants to play a tone sequence for a while and stop it. DevSound is initialized to tone play after Stop.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0046, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0051
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Once- Call InitializeL() using EMMFStatePlaying
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for playing audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayToneL() is called when InitializeL() was called using EMMFStatePlaying value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - Once- Call InitializeL() using EMMFStatePlaying
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0051, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0052
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Dual tone - Call InitializeL() using EMMFStatePlaying
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for playing audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayDualToneL() called when InitializeL() was called using EMMFStatePlaying value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - Dual tone - Call InitializeL() using EMMFStatePlaying
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0052, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0053
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - DTMF - Call InitializeL() using EMMFStatePlaying
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for playing audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayDTMFStringL() called when InitializeL() was called using EMMFStatePlaying value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - DTMF - Call InitializeL() using EMMFStatePlaying
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0053, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0054
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Tone sequence - Call InitializeL() using EMMFStatePlaying
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for playing audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayToneSequenceL() is called when InitializeL() was called using EMMFStatePlaying value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - Tone sequence - Call InitializeL() using EMMFStatePlaying
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0054, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0055
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Once - Call InitializeL() using EMMFStateRecording
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for recording audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayToneL() is called when InitializeL() was called using EMMFStateRecording value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - Once - Call InitializeL() using EMMFStateRecording
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0055, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0056
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Dual tone - Call InitializeL() using EMMFStateRecording
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for recording audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayDualToneL() called when InitializeL() was called using EMMFStateRecording value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - Dual tone - Call InitializeL() using EMMFStateRecording
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0056, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0057
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - DTMF - Call InitializeL() using EMMFStateRecording
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for recording audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayDTMFStringL() called when InitializeL() was called using EMMFStateRecording value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - DTMF - Call InitializeL() using EMMFStateRecording
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0057, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0058
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Tone sequence - Call InitializeL() using EMMFStateRecording
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for recording audio.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. PlayToneSequenceL() is called when InitializeL() was called using EMMFStateRecording value.
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotSupported.
+PRINT Play tone - Tone sequence - Call InitializeL() using EMMFStateRecording
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0058, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0059
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Once - Call PlayToneL() without calling initialize
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance, but do not Initialize it.
+//2. Call PlayToneL(). 
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotReady.
+PRINT Play tone - Once - Call PlayToneL() without calling initialize
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0059, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0060
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Dual tone - Call PlayDualToneL() without calling initialize
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance, but do not Initialize it.
+//2. Call PlayDualToneL(). 
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotReady.
+PRINT Play tone - Dual tone - Call PlayDualToneL() without calling initialize
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0060, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0061
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - DTMF - Call PlayDTMFStringL()without calling initialize
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance, but do not Initialize it.
+//2. Call PlayDTMFStringL().
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotReady.
+PRINT Play tone - DTMF - Call PlayDTMFStringL()without calling initialize
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0061, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0062
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Tone sequence - Call PlayToneSequenceL() without calling initialize
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance, but do not Initialize it.
+//2. Call PlayToneSequenceL().
+//!@SYMTestExpectedResults: 
+//It leaves with KErrNotReady.
+PRINT Play tone - Tone sequence - Call PlayToneSequenceL() without calling initialize
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0062, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0063
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Tone sequence - Call PlayToneSequenceL() using an invalid tone sequence descriptor
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Exception Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance for playing tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Call PlayToneSequenceL() method  using an invalid tone sequence descriptor.
+//!@SYMTestExpectedResults: 
+//A ToneFinished(KErrCorrupt) callback is received.
+PRINT Play tone - Tone sequence - Call PlayToneSequenceL() using an invalid tone sequence descriptor
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0063, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0009
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone configuration - Call SetVolume(..) method during paused playing tone
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Play a tone.(For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events every 2 seconds.
+//6. On timer event pause DevSound client, then call SetVolume(..).
+//7. Call Volume() method to verify current device volume value during the playback.
+//!@SYMTestExpectedResults: 
+//SetVolume(..) method shall be executed without error message.
+//Value returned from Volume() method shall be equal to the value set by SetVolume(..).
+PRINT Play tone configuration - Call SetVolume(..) method during paused playing tone
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0009, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0032
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Capabilities() to retrieve all the supported capabilities when paused
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event, after calling Pause(), invoke Capabilities() method to get all supported sample rates and channel encodings.
+//!@SYMTestExpectedResults: 
+//Capabilities() method shall retrieve a set of supported capabilities.
+PRINT Play tone query - Call Capabilities() to retrieve all the supported capabilities when paused
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0032, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0033
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Config() to retrieve the current capabilities, sampling rate and channel encoding when paused
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event, after calling Pause(), invoke Config() method to get Sampling Rate and iChannel encoding.
+//!@SYMTestExpectedResults: 
+//Config() method shall retrieve current sample rate and channel encoding.
+PRINT Play tone query - Call Config() to retrieve the current capabilities, sampling rate and channel encoding when paused
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0033, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0034
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call MaxVolume() to retrieve the max volume suported by the device when paused
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event, after calling Pause(), invoke MaxVolume() method to get the maximum volume for current device.
+//!@SYMTestExpectedResults: 
+//MaxVolume() method shall retrieve the max device´s volume.
+PRINT Play tone query - Call MaxVolume() to retrieve the max volume suported by the device when paused
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0034, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0035
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone query - Call Volume() to retrieve the default device volume when paused
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create a Devsound instance.
+//2. Create a CPeriodic instance.
+//3. Initialise a DevSound instance to play tones.
+//3.1 Wait for InitializeComplete(KErrNone) callback response.
+//4. Call PlayToneL(). (For testing purposes, the tone should last more than the first timer event)
+//5. Start CPeriodic to trigger timed events with a period of 2 seconds.
+//6. On timer event, after calling Pause(), invoke  Volume(..) method to get current volume value while tone play is in progress.
+//!@SYMTestExpectedResults: 
+//Volume() shall retrieve the current device volume.
+PRINT Play tone query - Call Volume() to retrieve the default device volume when paused
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0035, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0047
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Once - Pause. The client wants to play a tone for a while and pause it.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Call PlayToneL() method. (For testing purposes, the tone should last more than the timer event)
+//4. On the timer event, after two second, call Pause() to pause the ongoing operation.
+//!@SYMTestExpectedResults: 
+//Tone play is paused at current playing tone position. DevSound goes to “Pause Playing Tone” state.
+PRINT Play tone - Once - Pause. The client wants to play a tone for a while and pause it.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0047, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0048
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Dual tone - Pause. The client wants to play a dual tone for a while and pause it.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Call PlayDualToneL() method. (For testing purposes, the tone should last more than the timer event)
+//4. On the timer event, after 2 seconds, call Pause() to pause the ongoing operation.
+//!@SYMTestExpectedResults: 
+//Tone play is paused at current playing tone position. DevSound goes to “Pause Playing Tone” state.
+PRINT Play tone - Dual tone - Pause. The client wants to play a dual tone for a while and pause it.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0048, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0049
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - DTMF - Pause. The client wants to play a DTMF string for a while and pause it.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Call PlayDTMFStringL() method with DTMFString = 01234, 56789, ABCDEF#*.
+//4. On the timer event, after two second, call Pause() to pause the ongoing operation.
+//!@SYMTestExpectedResults: 
+//Tone play is paused at current playing tone position. DevSound goes to “Pause Playing Tone” state.
+PRINT Play tone - DTMF - Pause. The client wants to play a DTMF string for a while and pause it.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0049, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
+
+//!@SYMTestCaseID: MM-A3F-DEVSOUND-CHRTZ-TONE-0050
+//!@SYMREQ: 7951
+//!@SYMPREQ: 1540
+//!@SYMTestCaseDec: Play tone - Tone sequence - Pause. The client wants to play a tone sequence and pause it.
+//!@SYMTestPriority: Normal
+//!@SYMTestType: Alternative Usecase
+//!@SYMTestActions: 
+//1. Create and Initialize DevSound instance to play tones.
+//1.1 Wait for InitializeComplete(KErrNone) callback response.
+//2. Create and start a CPeriodic object.
+//3. Call PlayToneSequenceL() method. (For testing purposes, the tone should last more than the timer event)
+//4. On the timer event, after two second, call Pause() to pause the ongoing operation.
+//!@SYMTestExpectedResults: 
+//Tone play is paused at current playing tone position. DevSound goes to “Pause Playing Tone” state.
+PRINT Play tone - Tone sequence - Pause. The client wants to play a tone sequence and pause it.
+RUN_TEST_STEP 15000, char_a3f_devsound, MM-A3F-DEVSOUND-CHRTZ-TONE-0050, c:\mm_a3f_devsound_play_tone.ini
+TEST_COMPLETE
\ No newline at end of file