diff -r 000000000000 -r b8ed18f6c07b mmlibs/mmfw/tsrc/mmfunittest/MidiClnt/TS_MMFMIDICLNTsuite.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfunittest/MidiClnt/TS_MMFMIDICLNTsuite.cpp Thu Oct 07 22:34:12 2010 +0100 @@ -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 + +// Test system includes +#include + +#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)); +} + +