--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmlibs/mmfw/tsrc/mmfunittest/MidiClnt/TS_MMFMIDICLNTsuite.cpp Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,831 @@
+
+// Copyright (c) 2004-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:
+//
+
+
+// EPOC includes
+#include <e32base.h>
+
+// Test system includes
+#include <testframework.h>
+
+#include "TSU_MMFMIDICLNT.h"
+#include "TS_MMFMIDICLNTsuite.h"
+#include "TestMidiClientUtility.h"
+#include "TestStepMidiClntAllocFailNew.h"
+#include "TestStepMidiClntAllocFailOpen.h"
+#include "TestMidiClientSharedHeap.h"
+
+
+#define KFileNameKey _S("MidiDrmContent")
+#define KUnlimitPlayContent _S("midiIdPlayUnlim")
+
+const TDrmTestParams KDrm0321 =
+ {
+ KFileNameKey, //iFileNameKey
+ KUnlimitPlayContent, //iUniqueId;
+ ContentAccess::EUnknown, //iIntent;
+ KErrCANoPermission, //iExpectedError;
+ TDrmTestParams::EFileName // iSourceType;
+ };
+
+const TDrmTestParams KDrm0322 =
+ {
+ KFileNameKey, //iFileNameKey
+ _S("midiIdNoRights"), //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrCANoRights, //iExpectedError;
+ TDrmTestParams::EFileName // iSourceType;
+ };
+
+const TDrmTestParams KDrm0323 =
+ {
+ KFileNameKey, //iFileNameKey
+ _S("midiIdPlay01"), //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrCANoPermission, //iExpectedError;
+ TDrmTestParams::EFileName, // iSourceType;
+ 2 // iNumPlayLoops
+ };
+
+const TDrmTestParams KDrm0324 =
+ {
+ KFileNameKey, //iFileNameKey
+ _S("Wrong Id"), //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrNotFound, //iExpectedError;
+ TDrmTestParams::EFileName // iSourceType;
+ };
+
+const TDrmTestParams KDrm1011 =
+ {
+ KFileNameKey, //iFileNameKey
+ KUnlimitPlayContent, //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrNone, //iExpectedError;
+ TDrmTestParams::EFileName // iSourceType;
+ };
+
+const TDrmTestParams KDrm1012 =
+ {
+ KFileNameKey, //iFileNameKey
+ KUnlimitPlayContent, //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrNone, //iExpectedError;
+ TDrmTestParams::EFileHandle // iSourceType;
+ };
+
+const TDrmTestParams KDrm1013 =
+ {
+ KFileNameKey, //iFileNameKey
+ KUnlimitPlayContent, //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrNone, //iExpectedError;
+ TDrmTestParams::EFileName // iSourceType;
+ };
+
+const TDrmTestParams KDrm1014 =
+ {
+ KFileNameKey, //iFileNameKey
+ KUnlimitPlayContent, //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrNone, //iExpectedError;
+ TDrmTestParams::EFileName, // iSourceType;
+ 1, // iNumPlayLoops
+ TDrmTestParams::EAlloc // iTestMode
+ };
+
+const TDrmTestParams KDrm1015 =
+ {
+ KFileNameKey, //iFileNameKey
+ KUnlimitPlayContent, //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrNone, //iExpectedError;
+ TDrmTestParams::EFileHandle,// iSourceType;
+ 1, // iNumPlayLoops
+ TDrmTestParams::EAlloc // iTestMode
+ };
+
+const TDrmTestParams KDrm1016 =
+ {
+ KFileNameKey, //iFileNameKey
+ KUnlimitPlayContent, //iUniqueId;
+ ContentAccess::EPlay, //iIntent;
+ KErrNone, //iExpectedError;
+ TDrmTestParams::EFileHandle,// iSourceType;
+ 1 // iNumPlayLoops
+ };
+
+
+/**
+ * NewTestSuite is exported at ordinal 1
+ * this provides the interface to allow schedule test
+ * to create instances of this test suite
+ */
+EXPORT_C CTestSuite* NewTestSuiteL()
+ {
+ CTestMmfMidiClntSuite* result = new (ELeave) CTestMmfMidiClntSuite;
+ CleanupStack::PushL(result);
+ result->ConstructL();
+ CleanupStack::Pop(); // result
+ return result;
+ }
+
+/**
+ * destructor
+ */
+CTestMmfMidiClntSuite::~CTestMmfMidiClntSuite()
+ {
+ }
+
+/**
+ * make a version string available for test system
+ * @return version string
+ */
+TPtrC CTestMmfMidiClntSuite::GetVersion()
+ {
+ _LIT(KTxtVersion,"1.0");
+ return KTxtVersion();
+ }
+
+/**
+ * Constructor for test suite
+ * this creates all the test steps and
+ * stores them inside CTestMmfMidiClntSuite
+ */
+void CTestMmfMidiClntSuite::InitialiseL()
+ {
+ // store the name of this test suite
+ iSuiteName = _L("MMF_MIDICLNT");
+
+ //TTimeIntervalMicroSeconds position = TInt64(0);
+
+ _LIT(KSectionOne, "SectionOne");
+ _LIT(KSectionTwo, "SectionTwo");
+ _LIT(KFilename, "filename");
+
+// POSITIVE TEST
+
+ //Return the state
+ AddTestStepL( CTestMidiClntGetState::NewL( _L("MM-MMF-MIDICLNT-U-0016"), KSectionOne, KFilename, ETestValid, ETrue));
+
+ //Open 'maintest.wav'
+ AddTestStepL( CTestMidiClntOpenFile::NewL( _L("MM-MMF-MIDICLNT-U-0018"), KSectionOne, KFilename, ETrue) );
+
+ //Open Descriptor
+ AddTestStepL( CTestMidiClntOpenDes::NewL( _L("MM-MMF-MIDICLNT-U-0020"), KSectionOne, KFilename, ETrue) );
+
+ //Open valid URL - www.yahoo.co.uk
+ AddTestStepL( CTestMidiClntOpenUrl::NewL( _L("MM-MMF-MIDICLNT-U-0023"), KSectionOne, KFilename, ETrue) );
+
+ //Closes any currently open resource and deletes any plugins in use
+ AddTestStepL( CTestMidiClntClose::NewL( _L("MM-MMF-MIDICLNT-U-0027")));
+
+ //Initialize or resume playback
+ AddTestStepL( CTestMidiClntPlay::NewL( _L("MM-MMF-MIDICLNT-U-0029"), ETestValid));
+
+ //Stops playback of a resource
+ AddTestStepL( CTestMidiClntStop::NewL( _L("MM-MMF-MIDICLNT-U-0035"), ETestValid));
+
+ //Play a single note
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0038"), ETestValid));
+
+ //Stop all notes
+ AddTestStepL( CTestMidiClntStopNotes::NewL( _L("MM-MMF-MIDICLNT-U-0047"), ETestValid));
+
+ //Commence playback of a note
+ AddTestStepL( CTestMidiClntNoteOn::NewL( _L("MM-MMF-MIDICLNT-U-0050"), ETestValid));
+
+ //Terminate playback of a note
+ AddTestStepL( CTestMidiClntNoteOff::NewL( _L("MM-MMF-MIDICLNT-U-0056"), ETestValid));
+
+ //Returns the current tempo
+ AddTestStepL( CTestMidiClntTempoMicroBeatsPerMinute::NewL( _L("MM-MMF-MIDICLNT-U-0060"), ETestValid));
+
+ //Sets the tempo
+ AddTestStepL( CTestMidiClntSetTempo::NewL( _L("MM-MMF-MIDICLNT-U-0062"), ETestValid));
+
+ //Returns the pitch shift
+ AddTestStepL( CTestMidiClntGetPitchTranspositionCents::NewL( _L("MM-MMF-MIDICLNT-U-0066"),ETestValid));
+
+ //Set the pitch shift
+ AddTestStepL( CTestMidiClntSetPitchTransposition::NewL( _L("MM-MMF-MIDICLNT-U-0072"),ETestValid));
+
+ //Returns the length of midi resource
+ AddTestStepL( CTestMidiClntDurationMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0076"), ETestValid));
+
+ //The length of midi resource by Beats
+ AddTestStepL( CTestMidiClntDurationMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0078"), ETestValid));
+
+ //Number of tracks
+ AddTestStepL( CTestMidiClntNumTracks::NewL( _L("MM-MMF-MIDICLNT-U-0080"), ETestValid));
+
+ //Mutes a particular track
+ AddTestStepL( CTestMidiClntSetTrackMute::NewL( _L("MM-MMF-MIDICLNT-U-0082"), ETestValid));
+
+ //Channels Supported
+ AddTestStepL( CTestChannelsSupported::NewL( _L("MM-MMF-MIDICLNT-U-0085"), ETestValid));
+
+ //Queries the type
+ AddTestStepL( CTestMidiClntMimeType::NewL( _L("MM-MMF-MIDICLNT-U-0087"), ETestValid));
+
+ //Current temporal position
+ AddTestStepL( CTestMidiClntReturnPositionMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0092"), ETestValid));
+
+ //Change the position
+ AddTestStepL( CTestMidiClntSetPositionMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0095"), ETestValid));
+
+ //Current metrical position
+ AddTestStepL( CTestMidiClntReturnsPositionMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0099"), ETestValid));
+
+ //Change the metrical position
+ AddTestStepL( CTestMidiClntSetPositionMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0102"), ETestValid));
+
+ //Sets the frequency
+ AddTestStepL( CTestSetSyncUpdateCallbackInterval::NewL( _L("MM-MMF-MIDICLNT-U-0106"), ETestValid));
+
+ //Sends a midi message
+ AddTestStepL( CTestSendMessage::NewL( _L("MM-MMF-MIDICLNT-U-0111"), ETestValid, _L8("MIDI Message")) );
+
+ //Sends a mip message
+ AddTestStepL( CTestSendMipMessage::NewL( _L("MM-MMF-MIDICLNT-U-0115"), ETestValid) );
+
+ //The number of sound banks
+ AddTestStepL( CTestNumberOfBanks::NewL( _L("MM-MMF-MIDICLNT-U-0121"),ETestValid));
+
+ //The identifier of a sound bank
+ AddTestStepL( CTestGetBankId::NewL( _L("MM-MMF-MIDICLNT-U-0124"),ETestValid));
+
+ //Loads a custom sound bank
+ AddTestStepL( CTestLoadCustomBank::NewL( _L("MM-MMF-MIDICLNT-U-0129"),ETestValid));
+
+ //Removes a custom sound bank
+// AddTestStepL( CTestUnloadCustomBank::NewL( _L("MM-MMF-MIDICLNT-U-0133"),ETestValid));
+
+ //Unload all custom banks -- DEFERED (No suitable Midi Controller)
+// AddTestStepL( CTestUnloadAllCustomBanks::NewL( _L("MM-MMF-MIDICLNT-U-0135"),ETestValid));
+
+ //Gets the number of instruments
+ AddTestStepL( CTestNumberOfInstruments::NewL( _L("MM-MMF-MIDICLNT-U-0137"),ETestValid));
+
+ //Gets the identifier of a instrument
+ AddTestStepL( CTestGetInstrumentId::NewL( _L("MM-MMF-MIDICLNT-U-0141"),ETestValid));
+
+ //Gets the name of a instrument
+ AddTestStepL( CTestReturnsInstrumentName::NewL( _L("MM-MMF-MIDICLNT-U-0146"),ETestValid));
+
+ //Sets a channel to use the instrument
+ AddTestStepL( CTestSetInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0148"),ETestValid));
+
+ //Loads a custom Instrument
+ AddTestStepL( CTestLoadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0151"),ETestValid));
+
+ //Removes a instrument
+ AddTestStepL( CTestUnloadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0155"),ETestValid ));
+
+ //Queries the name of a particular percussion key
+ AddTestStepL( CTestPercussionKeyName::NewL( _L("MM-MMF-MIDICLNT-U-0159"),ETestValid));
+
+ //Stop Time
+ AddTestStepL( CTestStopTime::NewL( _L("MM-MMF-MIDICLNT-U-0161"),ETestValid));
+
+ //Set Stop Time
+ AddTestStepL( CTestSetStopTime::NewL( _L("MM-MMF-MIDICLNT-U-0163"),ETestValid));
+
+ //Set the number of times to repeat
+ AddTestStepL( CTestSetRepeats::NewL( _L("MM-MMF-MIDICLNT-U-0168"),ETestValid));
+
+ //Gets the polyphony
+ AddTestStepL( CTestPolyphony::NewL( _L("MM-MMF-MIDICLNT-U-0173"),ETestValid));
+
+ //volume setting of a channel
+ AddTestStepL( CTestReturnChannelVolume::NewL( _L("MM-MMF-MIDICLNT-U-0174"), ETestValid));
+
+ //Set the volume of a channel
+ AddTestStepL( CTestSetChannelVolume::NewL( _L("MM-MMF-MIDICLNT-U-0177"), ETestValid));
+
+ //Set the muting state of a channel
+ AddTestStepL( CTestSetChannelMute::NewL( _L("MM-MMF-MIDICLNT-U-0181"), ETestValid));
+
+ //Get the overall volume of the midi client
+ AddTestStepL( CTestReturnVolume::NewL( _L("MM-MMF-MIDICLNT-U-0183"), ETestValid));
+
+ //Maximum volume setting
+ AddTestStepL( CTestReturnMaxVolume::NewL( _L("MM-MMF-MIDICLNT-U-0184"), ETestValid));
+
+ //Set the overall volume
+ AddTestStepL( CTestSetVolume::NewL( _L("MM-MMF-MIDICLNT-U-0185"), ETestValid));
+
+ //Length of time over which the volume is faded up
+ AddTestStepL( CTestSetVolumeRamp::NewL( _L("MM-MMF-MIDICLNT-U-0188"), ETestValid));
+
+ //Get the stereo balance value
+ AddTestStepL( CTestGetBalance::NewL( _L("MM-MMF-MIDICLNT-U-0191"), ETestValid));
+
+ //Set the stereo balance value
+ AddTestStepL( CTestSetBalance::NewL( _L("MM-MMF-MIDICLNT-U-0193"), ETestValid));
+
+ //Set the priority
+ AddTestStepL( CTestSetPriority::NewL( _L("MM-MMF-MIDICLNT-U-0197"), ETestValid));
+
+ //Get the number of meta data entries
+ AddTestStepL( CTestNumberOfXmfMetaDataEntries::NewL( _L("MM-MMF-MIDICLNT-U-0199"), ETestValid));
+
+ //Retrieve the specified meta data entry
+// AddTestStepL( CTestGetXmfMetaDataEntry::NewL( _L("MM-MMF-MIDICLNT-U-0201"), ETestValid));
+
+ //Returns the current playback rate
+ AddTestStepL( CTestMidiClntReturnPlaybackRate::NewL( _L("MM-MMF-MIDICLNT-U-0210"), ETestValid));
+
+ //Sets the playback rate
+ AddTestStepL( CTestMidiClntSetPlaybackRate::NewL( _L("MM-MMF-MIDICLNT-U-0211"), ETestValid));
+
+ //Sets the playback rate [No Resource] - DEFERRED
+ //AddTestStepL( CTestMidiClntSetPlaybackRate::NewL( _L("MM-MMF-MIDICLNT-U-0226"), ETestNoResource));
+
+ //Sets the playback rate [Out of range high] - DEFERRED
+ //AddTestStepL( CTestMidiClntSetPlaybackRate::NewL( _L("MM-MMF-MIDICLNT-U-0227"), ETestOutOfRangeHigh));
+
+ //Sets the playback rate [Out of range low] - DEFERRED
+ //AddTestStepL( CTestMidiClntSetPlaybackRate::NewL( _L("MM-MMF-MIDICLNT-U-0228"), ETestOutOfRangeLow));
+
+ //Query the maximum playback rate
+ AddTestStepL( CTestMidiClntReturnMaxPlayRate::NewL( _L("MM-MMF-MIDICLNT-U-0213"), ETestValid));
+
+ //Query the minimum playback rate
+ AddTestStepL( CTestMidiClntReturnMinPlayRate::NewL( _L("MM-MMF-MIDICLNT-U-0214"), ETestValid));
+
+ //Plugin required to do negative tests//
+ //Query the instrument assigned to a specified channel.
+ AddTestStepL( CTestGetInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0215"), ETestValid));
+
+ //Loads an individual instrument from descriptor
+ AddTestStepL( CTestLoadCustomInstrumentData::NewL( _L("MM-MMF-MIDICLNT-U-0219"), ETestValid));
+
+ // Returns the maximum volume setting
+ AddTestStepL( CTestMaxChannelVolume::NewL( _L("MM-MMF-MIDICLNT-U-0225"), ETestValid));
+
+ // Checks that the client can hold more than 10 events in its queue
+ AddTestStepL( CTestMidiClntThirteenMidiEvents::NewL( _L("MM-MMF-MIDICLNT-U-0301"), ETestValid));
+
+ // Checks that the transtion from EMidiStateClosedDisengaged to EMidiStateClosedEngaged is made without any problems.
+ AddTestStepL( CTestTrasitionFromEClosedToEClosedEngaged::NewL( _L("MM-MMF-MIDICLNT-U-0302"), ETestValid));
+
+ // Checks that the transtion from EMidiStateClosedDisengaged to ECOpenEngaged is made without any problems.
+ AddTestStepL( CTestTrasitionFromEClosedToEOpenEngaged::NewL( _L("MM-MMF-MIDICLNT-U-0303"), ETestValid));
+
+ // Checks that the transtion from EMidiStateOpenEngaged to EMidiStateClosedEngaged is made without any problems.
+ AddTestStepL( CTestTrasitionFromEOpenEngagedToEClosedEngaged::NewL( _L("MM-MMF-MIDICLNT-U-0304"), ETestValid));
+
+ // Checks that the transtion from EMidiStateClosedEngaged to EMidiStateClosedDisengaged is made without any problems (using Stop()).
+ AddTestStepL( CTestTrasitionFromEClosedEngagedToEClosed::NewL( _L("MM-MMF-MIDICLNT-U-0305"), ETestValid));
+
+ AddTestStepL( CTestMidiOpenFileHandleRepeat::NewL( _L("MM-MMF-MIDICLNT-U-0306"), KSectionOne, KFilename, ETrue) );
+
+// NEGATIVE TEST
+
+ //Return the state before any initialisation has been done
+// AddTestStepL( CTestMidiClntGetState::NewL( _L("MM-MMF-MIDICLNT-U-0017"), KSectionOne, KFilename, ETestNegative, ETrue));
+
+ //Open 'Invalid File Name'
+ AddTestStepL( CTestMidiClntOpenFile::NewL( _L("MM-MMF-MIDICLNT-U-0019"), KSectionOne, KFilename, ETrue) );
+
+ //Open NULL Descriptor
+ AddTestStepL( CTestMidiClntOpenDes::NewL( _L("MM-MMF-MIDICLNT-U-0021"), KSectionOne, KFilename, ETrue) );
+
+ //Open Invalid Data Descriptor
+ AddTestStepL( CTestMidiClntOpenDes::NewL( _L("MM-MMF-MIDICLNT-U-0022"), KSectionOne, KFilename, ETrue) );
+
+ //Open invalid URL - www.yahoo.coo.uuk
+ AddTestStepL( CTestMidiClntOpenUrl::NewL( _L("MM-MMF-MIDICLNT-U-0024"), KSectionOne, KFilename, ETrue) );
+
+ //Open invalid IAP - TInt aIapId = KUseInvalidIap
+ AddTestStepL( CTestMidiClntOpenUrl::NewL( _L("MM-MMF-MIDICLNT-U-0025"), KSectionOne, KFilename, ETrue) );
+
+ //Open invalid MIME type - TDesC8& = Invalid MIME Type
+ AddTestStepL( CTestMidiClntOpenUrl::NewL( _L("MM-MMF-MIDICLNT-U-0026"), KSectionOne, KFilename, ETrue) );
+
+ //Closes any currently open resource and deletes any plugins in use (No plugin available)
+ AddTestStepL( CTestMidiClntClose::NewL( _L("MM-MMF-MIDICLNT-U-0028")));
+
+ //Initiate or resume playback (No plugin available)
+// AddTestStepL( CTestMidiClntPlay::NewL( _L("MM-MMF-MIDICLNT-U-0030"), ETestNoPlugin));
+
+ //Initiate or resume playback (Invalid System State)
+// AddTestStepL( CTestMidiClntPlay::NewL( _L("MM-MMF-MIDICLNT-U-0031"), ETestInvalidState));
+
+ // Disabled until real MIDI controller available
+ //Stops playback of a resource (No Resource Is Playing)
+ //AddTestStepL( CTestMidiClntStop::NewL( _L("MM-MMF-MIDICLNT-U-0036"), ETestNoResource));
+
+ //Stops playback of a resource (No Plugin Available)
+ AddTestStepL( CTestMidiClntStop::NewL( _L("MM-MMF-MIDICLNT-U-0037"), ETestNoPlugin));
+
+ //Play a single note (Zero duration)
+// AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0039"), ETestZeroDurationOutOfRange));
+
+ //Play a single note (Invalid Channel)
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0040"), ETestInvalidChannelOutOfRange));
+
+ //Play a single note (Note out of range high)
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0041"), ETestNoteHighOutOfRange));
+
+ //Play a single note (Note out of range low)
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0042"), ETestNoteLowOutOfRange));
+
+ //Play a single note (Attack out of range high)
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0043"), ETestAttackHighOutOfRange));
+
+ //Play a single note (Attack out of range low)
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0044"), ETestAttackLowOutOfRange));
+
+ //Play a single note (Release out of range high)
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0045"), ETestReleaseHighOutOfRange));
+
+ //Play a single note (Release out of range low)
+ AddTestStepL( CTestMidiClntPlayNote::NewL( _L("MM-MMF-MIDICLNT-U-0046"), ETestReleaseLowOutOfRange));
+
+ //Stop all notes (Invalid Channel Number)
+ AddTestStepL( CTestMidiClntStopNotes::NewL( _L("MM-MMF-MIDICLNT-U-0048"), ETestInvalidChannelOutOfRange));
+
+ //Stop all notes (No Note Available)
+ AddTestStepL( CTestMidiClntStopNotes::NewL( _L("MM-MMF-MIDICLNT-U-0049"), ETestNoNoteAvailable));
+
+ //Commence playback of a note (Invalid Channel Number)
+ AddTestStepL( CTestMidiClntNoteOn::NewL( _L("MM-MMF-MIDICLNT-U-0051"), ETestInvalidChannelOutOfRange));
+
+ //Commence playback of a note (Out of Range Low Note)
+ AddTestStepL( CTestMidiClntNoteOn::NewL( _L("MM-MMF-MIDICLNT-U-0052"), ETestNoteLowOutOfRange));
+
+ //Commence playback of a note (Out of Range High Note)
+ AddTestStepL( CTestMidiClntNoteOn::NewL( _L("MM-MMF-MIDICLNT-U-0053"), ETestNoteHighOutOfRange));
+
+ //Commence playback of a note (Out of Range Low Velocity)
+ AddTestStepL( CTestMidiClntNoteOn::NewL( _L("MM-MMF-MIDICLNT-U-0054"), ETestVelocityLowOutOfRange));
+
+ //Commence playback of a note (Out of Range High Velocity)
+ AddTestStepL( CTestMidiClntNoteOn::NewL( _L("MM-MMF-MIDICLNT-U-0055"), ETestVelocityHighOutOfRange));
+
+ //Terminate playback of a note (Invalid Channel Number)
+ AddTestStepL( CTestMidiClntNoteOff::NewL( _L("MM-MMF-MIDICLNT-U-0057"), ETestInvalidChannelOutOfRange));
+
+ //Terminate playback of a note (No Note Currently Playing)
+ AddTestStepL( CTestMidiClntNoteOff::NewL( _L("MM-MMF-MIDICLNT-U-0058"), ETestNoNoteAvailable));
+
+ //Terminate playback of a note (Selected Note / Velocity Set is different to those playing)
+// AddTestStepL( CTestMidiClntNoteOff::NewL( _L("MM-MMF-MIDICLNT-U-0059"), ETestDifferentNoteVelocity));
+
+ //Returns the current tempo (No Resource is Open)
+// AddTestStepL( CTestMidiClntTempoMicroBeatsPerMinute::NewL( _L("MM-MMF-MIDICLNT-U-0061"), ETestNoResource ));
+
+ //Sets the tempo (Beats Out of Range Low)
+ AddTestStepL( CTestMidiClntSetTempo::NewL( _L("MM-MMF-MIDICLNT-U-0063"), ETestBeatsLowOutOfRange));
+
+// Does not calculate errors on out of range values, all values above 0 are a pass, Invalid test
+ //Sets the tempo (Beats Out of Range High)
+// AddTestStepL( CTestMidiClntSetTempo::NewL( _L("MM-MMF-MIDICLNT-U-0064"), ETestBeatsHighOutOfRange));
+
+ //Sets the tempo (No Resource is Open)
+// AddTestStepL( CTestMidiClntSetTempo::NewL( _L("MM-MMF-MIDICLNT-U-0065"), ETestNoResource));
+
+ //Returns the pitch shift (No Resource is Open)
+ //AddTestStepL( CTestMidiClntGetPitchTranspositionCents::NewL( _L("MM-MMF-MIDICLNT-U-0067"),ETestNoResource ));
+
+ //Set the pitch shift (No Resource is Open)
+ //AddTestStepL( CTestMidiClntSetPitchTransposition::NewL( _L("MM-MMF-MIDICLNT-U-0073"),ETestNoResource ));
+
+ //Set the pitch shift (Out of Range Value High)
+ AddTestStepL( CTestMidiClntSetPitchTransposition::NewL( _L("MM-MMF-MIDICLNT-U-0074"),ETestOutOfRangeHigh ));
+
+ //Set the pitch shift (Out of Range Value Low)
+// AddTestStepL( CTestMidiClntSetPitchTransposition::NewL( _L("MM-MMF-MIDICLNT-U-0075"),ETestOutOfRangeLow ));
+
+ //Returns the length of midi resource (No Resource is Open)
+// AddTestStepL( CTestMidiClntDurationMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0077"), ETestNoResource));
+
+ //The length of midi resource by Beats (No Resource is Open)
+// AddTestStepL( CTestMidiClntDurationMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0079"), ETestNoResource));
+
+ // Disabled until real MIDI controller available
+ //Number of tracks (No Resource is Open)
+ //AddTestStepL( CTestMidiClntNumTracks::NewL( _L("MM-MMF-MIDICLNT-U-0081"),ETestNoResource));
+
+ //Mutes a particular track (Invalid Track)
+ AddTestStepL( CTestMidiClntSetTrackMute::NewL( _L("MM-MMF-MIDICLNT-U-0083"), ETestInvalidTrack));
+
+ //Mutes a particular track (No Resource is Open)
+// AddTestStepL( CTestMidiClntSetTrackMute::NewL( _L("MM-MMF-MIDICLNT-U-0084"), ETestNoResource));
+
+ // Disabled until real MIDI controller available
+ //Number of channels (No Resource is Open)
+ //AddTestStepL( CTestChannelsSupported::NewL( _L("MM-MMF-MIDICLNT-U-0086"),ETestNoResource));
+
+ //Queries the type (No Resource is Open)
+// AddTestStepL( CTestMidiClntMimeType::NewL( _L("MM-MMF-MIDICLNT-U-0088"), ETestNoResource));
+
+ //Current temporal position (No Resource is Open)
+// AddTestStepL( CTestMidiClntReturnPositionMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0093"), ETestNoResource));
+
+ //Current temporal position (Resource is not Playing)
+// AddTestStepL( CTestMidiClntReturnPositionMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0094"), ETestNoResourcePlaying));
+
+ //Change the position (No Resource is Open)
+// AddTestStepL( CTestMidiClntSetPositionMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0096"), ETestNoResource));
+
+//Taken out as controller does not check values
+ //Change the position (Out of Range Value Low)
+// AddTestStepL( CTestMidiClntSetPositionMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0097"), ETestMicrosecondsLowOutOfRange));
+
+//Taken out as controller does not check values
+ //Change the position (Out of Range Value High)
+// AddTestStepL( CTestMidiClntSetPositionMicroSeconds::NewL( _L("MM-MMF-MIDICLNT-U-0098"), ETestMicrosecondsHighOutOfRange));
+
+ //Current metrical position (No Resource is Open)
+// AddTestStepL( CTestMidiClntReturnsPositionMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0100"), ETestNoResource));
+
+ //Current metrical position (Resource is not Playing)
+// AddTestStepL( CTestMidiClntReturnsPositionMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0101"), ETestNoResourcePlaying));
+
+ //Change the metrical position (No Resource is Open)
+// AddTestStepL( CTestMidiClntSetPositionMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0103"), ETestNoResource));
+
+//Taken out as controller does not check values
+ //Change the metrical position (Out of Range Value Low)
+// AddTestStepL( CTestMidiClntSetPositionMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0104"), ETestMicrobeatsLowOutOfRange));
+
+//Taken out as controller does not check values
+ //Change the metrical position (Out of Range Value High)
+// AddTestStepL( CTestMidiClntSetPositionMicroBeats::NewL( _L("MM-MMF-MIDICLNT-U-0105"), ETestMicrobeatsHighOutOfRange ));
+
+ //Sets the frequency (Both Arguments are Set to Zero)
+// AddTestStepL( CTestSetSyncUpdateCallbackInterval::NewL( _L("MM-MMF-MIDICLNT-U-0107"), ETestMicrosecondsMicrobeatsZero));
+
+ //Sets the frequency (Microseconds Value is Out of Range)
+ AddTestStepL( CTestSetSyncUpdateCallbackInterval::NewL( _L("MM-MMF-MIDICLNT-U-0108"), ETestMicrosecondsLowOutOfRange));
+
+ //Sets the frequency (Out of Range Interval Low)
+ AddTestStepL( CTestSetSyncUpdateCallbackInterval::NewL( _L("MM-MMF-MIDICLNT-U-0109"), ETestMicrobeatsLowOutOfRange));
+
+// Does not calculate errors on out of range values, all values above 0 are a pass, Invalid test
+ //Sets the frequency (Out of Range Interval High)
+// AddTestStepL( CTestSetSyncUpdateCallbackInterval::NewL( _L("MM-MMF-MIDICLNT-U-0110"), ETestMicrobeatsHighOutOfRange));
+
+ //Sends a midi message (Call With NULL Message)
+// AddTestStepL( CTestSendMessage::NewL( _L("MM-MMF-MIDICLNT-U-0112"), ETestNullMessage, KNullDesC8) );
+
+ //Sends a midi message (Call With Unsupported Message)
+// AddTestStepL( CTestSendMessage::NewL( _L("MM-MMF-MIDICLNT-U-0113"), ETestUnsupported, _L8("Unsupported MIDI Message")) );
+
+ //Sends a midi message (Call With Corrupt Message)
+// AddTestStepL( CTestSendMessage::NewL( _L("MM-MMF-MIDICLNT-U-0114"), ETestCorrupt, _L8("Corrupt MIDI Message")) );
+
+ //Sends a mip message (Invalid Device ID)
+// AddTestStepL( CTestSendMipMessage::NewL( _L("MM-MMF-MIDICLNT-U-0116"), ETestInvalidId ));
+
+ //Sends a mip message (NULL Message)
+// AddTestStepL( CTestSendMipMessage::NewL( _L("MM-MMF-MIDICLNT-U-0117"), ETestNullMessage) );
+
+ //Sends a mip message (Unsupported Message)
+// AddTestStepL( CTestSendMipMessage::NewL( _L("MM-MMF-MIDICLNT-U-0118"), ETestUnsupported) );
+
+ // Duplicate requirement
+ //Sends a mip message (Unsupported Message)
+// AddTestStepL( CTestSendMipMessage::NewL( _L("MM-MMF-MIDICLNT-U-0119"), ETestUnsupported ));
+
+ //Sends a mip message (Corrupt Message)
+// AddTestStepL( CTestSendMipMessage::NewL( _L("MM-MMF-MIDICLNT-U-0120"), ETestCorrupt) );
+
+ //The number of sound banks (No Custom banks Exist)
+// AddTestStepL( CTestNumberOfBanks::NewL( _L("MM-MMF-MIDICLNT-U-0122"), ETestNoCustomBanks) );
+
+ //The number of sound banks (No Standard bank Exist)
+// AddTestStepL( CTestNumberOfBanks::NewL( _L("MM-MMF-MIDICLNT-U-0123"), ETestNoStandardBanks ));
+
+ //The identifier of a sound bank (Invalid Bank Index)
+// AddTestStepL( CTestGetBankId::NewL( _L("MM-MMF-MIDICLNT-U-0125"), ETestInvalidIndex) );
+
+ //The identifier of a sound bank (No Custom Banks Exist)
+// AddTestStepL( CTestGetBankId::NewL( _L("MM-MMF-MIDICLNT-U-0126"), ETestNoCustomBanks) );
+
+ //The identifier of a sound bank (No Standard Banks Exist)
+// AddTestStepL( CTestGetBankId::NewL( _L("MM-MMF-MIDICLNT-U-0127"), ETestNoStandardBanks ));
+
+ //Loads a custom sound bank (Null Filename)
+// AddTestStepL( CTestLoadCustomBank::NewL( _L("MM-MMF-MIDICLNT-U-0130"), ETestNullMessage) );
+
+ //Loads a custom sound bank (lnvalid Filename)
+// AddTestStepL( CTestLoadCustomBank::NewL( _L("MM-MMF-MIDICLNT-U-0131"), ETestInvalidMessage) );
+
+ //Loads a custom sound bank (Unsupported File)
+// AddTestStepL( CTestLoadCustomBank::NewL( _L("MM-MMF-MIDICLNT-U-0132"), ETestUnsupported) );
+
+ //Removes a custom sound bank (ID of Bank Not Loaded)
+// AddTestStepL( CTestUnloadCustomBank::NewL( _L("MM-MMF-MIDICLNT-U-0134"), ETestNotLoaded ));
+
+ //Gets the number of instruments (Invalid Bank Index)
+// AddTestStepL( CTestNumberOfInstruments::NewL( _L("MM-MMF-MIDICLNT-U-0138"), ETestInvalidIndex ));
+
+ //Gets the number of instruments (No Custome Banks Exist)
+// AddTestStepL( CTestNumberOfInstruments::NewL( _L("MM-MMF-MIDICLNT-U-0139"), ETestNoCustomBanks ));
+
+ //Gets the number of instruments (No Standard Banks Exist)
+// AddTestStepL( CTestNumberOfInstruments::NewL( _L("MM-MMF-MIDICLNT-U-0140"), ETestNoStandardBanks ));
+
+ //Gets the identifier of a instrument (Invalid Bank ID)
+// AddTestStepL( CTestGetInstrumentId::NewL( _L("MM-MMF-MIDICLNT-U-0142"), ETestInvalidId ));
+
+ //Gets the identifier of a instrument (No Custome Banks Exist)
+// AddTestStepL( CTestGetInstrumentId::NewL( _L("MM-MMF-MIDICLNT-U-0143"), ETestNoCustomBanks ));
+
+ //Gets the identifier of a instrument (No Standard Banks Exist)
+// AddTestStepL( CTestGetInstrumentId::NewL( _L("MM-MMF-MIDICLNT-U-0144"), ETestNoStandardBanks ));
+
+ //Gets the identifier of a instrument (Invalid Program/Instrument Index)
+// AddTestStepL( CTestGetInstrumentId::NewL( _L("MM-MMF-MIDICLNT-U-0145"), ETestInvalidIndex ));
+
+//Check this//
+ //Change it to return EFail for failing negative test
+ //Gets the name of a instrument (Invalid Program/Instrument Information)
+ AddTestStepL( CTestReturnsInstrumentName::NewL( _L("MM-MMF-MIDICLNT-U-0147"), ETestNegative ));
+//
+
+ //Sets a channel to use the instrument (Invalid Channel)
+// AddTestStepL( CTestSetInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0149"), ETestInvalidChannel ));
+
+ //Sets a channel to use the instrument (Invalid Program/Instrument ID)
+// AddTestStepL( CTestSetInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0150"), ETestInvalidId ));
+
+ //Loads a custom Instrument (Invalid Bank ID)
+// AddTestStepL( CTestLoadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0152"), ETestInvalidId ));
+
+ //Loads a custom Instrument (Load Program/Instrument Already Loaded)
+// AddTestStepL( CTestLoadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0153"), ETestAlreadyLoaded ));
+
+ //Loads a custom Instrument (Load Unsupported Program/Instrument)
+// AddTestStepL( CTestLoadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0154"), ETestUnsupported ));
+
+ //Removes a instrument (Invalid Bank ID)
+// AddTestStepL( CTestUnloadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0156"), ETestInvalidId ));
+
+ //Removes a instrument (ID of Program not Loaded)
+// AddTestStepL( CTestUnloadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0157"), ETestNotLoaded ));
+
+ //Removes a instrument (Non-unloadable Program/Instrument)
+// AddTestStepL( CTestUnloadCustomInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0158"), ETestNotUnloadable ));
+
+ //Queries the name of a particular percussion key (Invalid Note)
+// AddTestStepL( CTestPercussionKeyName::NewL( _L("MM-MMF-MIDICLNT-U-0160"), ETestInvalidId ));
+
+ // Disabled until real MIDI controller available
+ //Stop Time (No Midi Resource is Open)
+ //AddTestStepL( CTestStopTime::NewL( _L("MM-MMF-MIDICLNT-U-0162"),ETestNoResource));
+
+ //Set Stop Time (Stop time out of range high)
+ AddTestStepL( CTestSetStopTime::NewL( _L("MM-MMF-MIDICLNT-U-0164"),ETestOutOfRangeHigh));
+
+ //Set Stop Time (Stop time out of range low)
+ AddTestStepL( CTestSetStopTime::NewL( _L("MM-MMF-MIDICLNT-U-0165"),ETestOutOfRangeLow));
+
+ //Set the number of times to repeat (Repeat: Out of Range High, Trailing Silence: Out of Range High)
+ AddTestStepL( CTestSetRepeats::NewL( _L("MM-MMF-MIDICLNT-U-0169"), ETestOutOfRange ));
+
+ //It gave no error even it is Channel16. So it should be because no plugin.
+ //volume setting of a channel (Invalid Channel) -- DEFERED (No suitable Midi Controller)
+ AddTestStepL( CTestReturnChannelVolume::NewL( _L("MM-MMF-MIDICLNT-U-0175"), ETestInvalidChannel ));
+
+ //Set the volume of a channel (Invalid Channel Number)
+ AddTestStepL( CTestSetChannelVolume::NewL( _L("MM-MMF-MIDICLNT-U-0178"), ETestInvalidChannelOutOfRange));
+
+ //Set the volume of a channel (Volume out of Range High)
+ AddTestStepL( CTestSetChannelVolume::NewL( _L("MM-MMF-MIDICLNT-U-0179"), ETestVolumeHighOutOfRange));
+
+ //Set the volume of a channel (Volume out of Range Low)
+ AddTestStepL( CTestSetChannelVolume::NewL( _L("MM-MMF-MIDICLNT-U-0180"), ETestVolumeLowOutOfRange));
+
+//Check this
+//Is the error message 'NotSupported' corect??
+ //Set the muting state of a channel (Invalid Channel)
+ AddTestStepL( CTestSetChannelMute::NewL( _L("MM-MMF-MIDICLNT-U-0182"), ETestInvalidChannelOutOfRange));
+//
+
+//Taken out as controller does not check values
+ //Set the overall volume (Out of Range Volume Low)
+// AddTestStepL( CTestSetVolume::NewL( _L("MM-MMF-MIDICLNT-U-0186"), ETestVolumeLowOutOfRange));
+
+//Taken out as controller does not check values
+ //Set the overall volume (Out of Range Volume High)
+// AddTestStepL( CTestSetVolume::NewL( _L("MM-MMF-MIDICLNT-U-0187"), ETestVolumeHighOutOfRange));
+
+//Taken out as controller does not check values
+ //Length of time over which the volume is faded up (Out of Range Volume Low)
+// AddTestStepL( CTestSetVolumeRamp::NewL( _L("MM-MMF-MIDICLNT-U-0189"), ETestRampDurationLowOutOfRange));
+
+//Taken out as controller does not check values
+ //Length of time over which the volume is faded up (Out of Range Volume High)
+// AddTestStepL( CTestSetVolumeRamp::NewL( _L("MM-MMF-MIDICLNT-U-0190"), ETestRampDurationHighOutOfRange));
+
+ //Get the stereo balance value (Plugin Does Not Support Balance)
+// AddTestStepL( CTestGetBalance::NewL( _L("MM-MMF-MIDICLNT-U-0192"), ETestUnsupported));
+
+ //Set the stereo balance value (Plugin Does Not Support Balance)
+// AddTestStepL( CTestSetBalance::NewL( _L("MM-MMF-MIDICLNT-U-0194"), ETestUnsupported));
+
+//Taken out as controller does not check values
+ //Set the stereo balance value (Out of Range Volume Low)
+// AddTestStepL( CTestSetBalance::NewL( _L("MM-MMF-MIDICLNT-U-0195"), ETestBalanceLowOutOfRange));
+
+//Taken out as controller does not check values
+ //Set the stereo balance value (Out of Range Volume High)
+// AddTestStepL( CTestSetBalance::NewL( _L("MM-MMF-MIDICLNT-U-0196"), ETestBalanceHighOutOfRange));
+
+// We need this to confict and cause PreferenceConflictsCannotBeResolved
+ //Set the priority (Preference Conflicts Cannot be Resolved) -- DEFERED (Need another Midi Client)
+// AddTestStepL( CTestSetPriority::NewL( _L("MM-MMF-MIDICLNT-U-0198"), ETestPreferenceConflictsCannotBeResolved));
+
+// Taken out we need plugin
+ //Get the number of meta data entries (Plugin Does Not Support Metadata)
+// AddTestStepL( CTestNumberOfXmfMetaDataEntries::NewL( _L("MM-MMF-MIDICLNT-U-0200"), ETestUnsupported));
+
+//Causes Access Violation
+ //Retrieve the specified meta data entry (Invalid Index)
+// AddTestStepL( CTestGetXmfMetaDataEntry::NewL( _L("MM-MMF-MIDICLNT-U-0202"), ETestMetaDataIndexInvalid));
+
+//Causes Access Violation
+ //Retrieve the specified meta data entry (Plugin Does Not Support Metadata)
+// AddTestStepL( CTestGetXmfMetaDataEntry::NewL( _L("MM-MMF-MIDICLNT-U-0203"), ETestUnsupported));
+
+ //Query the instrument (Invalid channel) - DEFERRED
+ //AddTestStepL( CTestGetInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0216"), ETestInvalidChannel));
+
+ //Query the instrument (Invalid Id) - DEFERRED
+ //AddTestStepL( CTestGetInstrument::NewL( _L("MM-MMF-MIDICLNT-U-0217"), ETestInvalidId));
+
+ //Loads an individual instrument from descriptor (Invalid ID) - DEFERRED
+ //AddTestStepL( CTestLoadCustomInstrumentData::NewL( _L("MM-MMF-MIDICLNT-U-0220"), ETestInvalidId));
+
+ //Loads an individual instrument from descriptor (Already loaded) - DEFERRED
+ //AddTestStepL( CTestLoadCustomInstrumentData::NewL( _L("MM-MMF-MIDICLNT-U-0221"), ETestAlreadyLoaded));
+
+ //Loads an individual instrument from descriptor (Unsupported / Bad instrument data) - DEFERRED
+ //AddTestStepL( CTestLoadCustomInstrumentData::NewL( _L("MM-MMF-MIDICLNT-U-0222"), ETestUnsupported));
+
+ AddTestStepL( CTestCheckInterface::NewL( _L("MM-MMF-MIDICLNT-U-0300"), ETestValid));
+
+ AddTestStepL(CTestStepMidiClntAllocFailNew::NewL());
+ AddTestStepL(CTestStepMidiClntAllocFailOpenFile::NewL(_L("MM-MMF-MIDICLNT-U-0200-CP")));
+ AddTestStepL(CTestStepMidiClntAllocFailOpenDes::NewL());
+ AddTestStepL(CTestStepMidiClntAllocFailOpenUrl::NewL());
+
+ //MS 3.4 File Handles API
+ //NEGATIVE TESTS
+ //Open a MIDI File containing text data and try to perform initialisation ready for playback - (Invalid File).
+ AddTestStepL( CTestMidiClntOpenFileByHandle::NewL( _L("MM-MMF-MIDICLNT-U-0223"), KSectionTwo, KFilename, ETrue, ETestValid) );
+
+ //POSITIVE TESTS
+ //Open a file containing midi data and perform initialisation ready for playback.
+ AddTestStepL( CTestMidiClntOpenFileByHandle::NewL( _L("MM-MMF-MIDICLNT-U-1001"), KSectionOne, KFilename, ETrue, ETestValid) );
+ //Initiate or resume playback of a previously opened resource.
+ AddTestStepL( CTestMidiClntPlayFileByHandle::NewL( _L("MM-MMF-MIDICLNT-U-1002")));
+
+ //ALLOC TESTS
+ //Alloc test to Open a file containing midi data and perform initialisation ready for playback.
+ AddTestStepL(CTestStepMidiClntAllocFailOpenFile::NewL(_L("MM-MMF-MIDICLNT-U-1003")));
+
+ AddTestStepL(CTestDrmNegative::NewL(_L("MM-MMF-MIDICLNT-U-0321-HP"),ETestNegative ,KDrm0321));
+ AddTestStepL(CTestDrmNegative::NewL(_L("MM-MMF-MIDICLNT-U-0322-HP"),ETestNegative ,KDrm0322));
+ AddTestStepL(CTestDrmPlay::NewL(_L("MM-MMF-MIDICLNT-U-0323-HP"),ETestValid ,KDrm0323));
+ AddTestStepL(CTestDrmNegative::NewL(_L("MM-MMF-MIDICLNT-U-0324-HP"),ETestNegative ,KDrm0324));
+ AddTestStepL(CTestDrmPlay::NewL(_L("MM-MMF-MIDICLNT-U-1011-HP"),ETestValid ,KDrm1011));
+ AddTestStepL(CTestDrmPlay::NewL(_L("MM-MMF-MIDICLNT-U-1012-HP"),ETestValid ,KDrm1012));
+ AddTestStepL(CTestDrmPlayStop::NewL(_L("MM-MMF-MIDICLNT-U-1013-HP"),ETestValid ,KDrm1013));
+ AddTestStepL(CTestDrmPlay::NewL(_L("MM-MMF-MIDICLNT-U-1014-HP"),ETestValid ,KDrm1014));
+ AddTestStepL(CTestDrmPlay::NewL(_L("MM-MMF-MIDICLNT-U-1015-HP"),ETestValid ,KDrm1015));
+ AddTestStepL(CTestDrmPlayWithUI::NewL(_L("MM-MMF-MIDICLNT-U-1016-HP"),ETestValid ,KDrm1016));
+
+ //Play a midifile without opening it and check the status while playing and after it is been stopped.
+ AddTestStepL(CTestMidiClntPlayWithoutFile::NewL(_L("MM-MMF-MIDICLNT-U-1020-HP")));
+ //Open and Play a midifile and check the status while playing and after it is been stopped.
+ AddTestStepL(CTestMidiClntOpenAndPlayFile::NewL(_L("MM-MMF-MIDICLNT-U-1021-HP"),KSectionOne, KFilename));
+
+ //Open and play multiple concurrent midi objects, using shared heap mode, to check we don't run out of heaps
+ AddTestStepL(CTestMidiClntMultiSharedHeap::NewL(_L("MM-MMF-MIDICLNT-U-2000-HP"),KSectionOne, KFilename, EFalse));
+ AddTestStepL(CTestMidiClntMultiSharedHeap::NewL(_L("MM-MMF-MIDICLNT-U-2001-HP"),KSectionOne, KFilename, ETrue));
+
+ // repeatedly create and delete multiple concurrent midi objects, using shared heap mode, to check no chunks are leaked
+ AddTestStepL(CTestMidiClntRepeatMultiSharedHeap::NewL(_L("MM-MMF-MIDICLNT-U-2002-HP"),KSectionOne, KFilename, EFalse));
+ AddTestStepL(CTestMidiClntRepeatMultiSharedHeap::NewL(_L("MM-MMF-MIDICLNT-U-2003-HP"),KSectionOne, KFilename, ETrue));
+}
+
+