//
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
//
LOAD_SUITE T_mmcsd -SharedData
START_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0001
//! @SYMTestCaseID BASE-BSP-SD-DRIVER-MANUALStack-0001
//! @SYMAPI User::LoadLogicalDevice(const TDesC {ref});
//! @SYMAuthor Matt Flowers
//! @SYMCreationDate 17/04/2008
//! @SYMTestCaseDesc Load Logical Device Driver.
//! @SYMTestActions Load D_MMCSDIF LDD Driver
//! @SYMTestStatus Implemented
//! @SYMTestPriority high
//! @SYMTestExpectedResults KErrNone
//! @SYMTestType CIT
START_TEST_BLOCK 100 T_mmcsd \base\mmcsd\BASE-BSP-SD-STACK-DRIVER-MANUAL.ini
CREATE_OBJECT MMCSDSession mmcsdsession1
COMMAND mmcsdsession1 NewL
COMMAND mmcsdsession1 LoadDriver BASE-BSP-SD-DRIVER-MANUALStack-0001-001-LoadDriver_command02
COMMAND mmcsdsession1 ~
END_TEST_BLOCK
END_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0001
START_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0002
//! @SYMTestCaseID BASE-BSP-SD-DRIVER-MANUALStack-0002
//! @SYMAPI DMMCStack::HasCardsPresent();
//! @SYMAuthor Matt Flowers
//! @SYMCreationDate 06/05/2008
//! @SYMTestCaseDesc Has Cards Present Test - Test whether any cards are present on the stack.
//! @SYMTestActions 1. Create RMMCSDTestControllerInterface Handle object.
//! 2. Open the driver connection
//! 3. Get whether any cards are present on the stack
//! 4. Destroy the object
//! @SYMTestStatus Implemented
//! @SYMTestPriority high
//! @SYMTestExpectedResults Cards Present status correctly returned with no errors.
//! @SYMTestType CIT
START_TEST_BLOCK 100 T_mmcsd \base\mmcsd\BASE-BSP-SD-STACK-DRIVER-MANUAL.ini
CREATE_OBJECT MMCSDSession mmcsdsession1
CREATE_OBJECT MMCSDStack mmcsdstack1
COMMAND mmcsdsession1 NewL
COMMAND mmcsdsession1 DriverOpen BASE-BSP-SD-DRIVER-MANUALStack-0002-001-DriverOpen_command01
COMMAND mmcsdstack1 NewL BASE-BSP-SD-DRIVER-MANUALStack-0002-001-NewL_command02
COMMAND mmcsdstack1 utilityPromptMessage BASE-BSP-SD-DRIVER-MANUALStack-0002-001-PromptUser_command03
COMMAND mmcsdstack1 HasCardsPresent BASE-BSP-SD-DRIVER-MANUALStack-0002-001-HasCardsPresent_command04
COMMAND mmcsdsession1 Close
COMMAND mmcsdstack1 ~
COMMAND mmcsdsession1 ~
END_TEST_BLOCK
END_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0002
START_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0003
//! @SYMTestCaseID BASE-BSP-SD-DRIVER-MANUALStack-0003
//! @SYMAPI DMMCStack::Init();
//! @SYMAuthor Matt Flowers
//! @SYMCreationDate 16/05/2008
//! @SYMTestCaseDesc Initialise test - Initialise the generic MMC stack
//! @SYMTestActions 1. Create RMMCSDTestControllerInterface Handle object.
//! 2. Open the driver connection
//! 3. Initialise the generic MMC stack
//! 4. Ask user to eject and reinsert card
//! 5. Destroy the object
//! @SYMTestStatus Implemented
//! @SYMTestPriority high
//! @SYMTestExpectedResults MMC stack initialised with no error.
//! @SYMTestType CIT
START_TEST_BLOCK 100 T_mmcsd \base\mmcsd\BASE-BSP-SD-STACK-DRIVER-MANUAL.ini
CREATE_OBJECT MMCSDSession mmcsdsession1
CREATE_OBJECT MMCSDStack mmcsdstack1
COMMAND mmcsdsession1 NewL
COMMAND mmcsdsession1 DriverOpen BASE-BSP-SD-DRIVER-MANUALStack-0003-001-DriverOpen_command01
COMMAND mmcsdstack1 NewL BASE-BSP-SD-DRIVER-MANUALStack-0003-001-NewL_command02
COMMAND mmcsdstack1 Init
COMMAND mmcsdstack1 utilityPromptMessage BASE-BSP-SD-DRIVER-MANUALStack-0003-001-PromptUser_command04
COMMAND mmcsdsession1 Close
COMMAND mmcsdstack1 ~
COMMAND mmcsdsession1 ~
END_TEST_BLOCK
END_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0003
START_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0004
//! @SYMTestCaseID BASE-BSP-SD-DRIVER-MANUALStack-0004
//! @SYMAPI DMMCStack::Init();
//! @SYMAuthor Matt Flowers
//! @SYMCreationDate 16/05/2008
//! @SYMTestCaseDesc Initialise test - Initialise the generic MMC stack
//! @SYMTestActions 1. Create RMMCSDTestControllerInterface Handle object.
//! 2. Open the driver connection
//! 3. Initialise the generic MMC stack
//! 4. Ask user to eject and reinsert card
//! 5. Destroy the object
//! @SYMTestStatus Implemented
//! @SYMTestPriority high
//! @SYMTestExpectedResults MMC stack initialised with error KErrInUse.
//! @SYMTestType CIT
START_TEST_BLOCK 100 T_mmcsd \base\mmcsd\BASE-BSP-SD-STACK-DRIVER-MANUAL.ini
CREATE_OBJECT MMCSDSession mmcsdsession1
CREATE_OBJECT MMCSDStack mmcsdstack1
COMMAND mmcsdsession1 NewL
COMMAND mmcsdsession1 DriverOpen BASE-BSP-SD-DRIVER-MANUALStack-0004-001-DriverOpen_command01
COMMAND mmcsdstack1 NewL BASE-BSP-SD-DRIVER-MANUALStack-0004-001-NewL_command02
COMMAND !Error=-14 mmcsdstack1 Init
COMMAND mmcsdstack1 utilityPromptMessage BASE-BSP-SD-DRIVER-MANUALStack-0004-001-PromptUser_command04
COMMAND mmcsdsession1 Close
COMMAND mmcsdstack1 ~
COMMAND mmcsdsession1 ~
END_TEST_BLOCK
END_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0004
START_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0005
//! @SYMTestCaseID BASE-BSP-SD-DRIVER-MANUALStack-0005
//! @SYMAPI DMMCStack::HasCardsPresent();
//! @SYMAuthor Matt Flowers
//! @SYMCreationDate 06/05/2008
//! @SYMTestCaseDesc Has Cards Present Test - Test whether any cards are present on the stack.
//! @SYMTestActions 1. Create RMMCSDTestControllerInterface Handle object.
//! 2. Open the driver connection
//! 3. Get whether any cards are present on the stack
//! 4. Destroy the object
//! @SYMTestStatus Implemented
//! @SYMTestPriority high
//! @SYMTestExpectedResults Cards Present status correctly returned with no errors.
//! @SYMTestType CIT
START_TEST_BLOCK 100 T_mmcsd \base\mmcsd\BASE-BSP-SD-STACK-DRIVER-MANUAL.ini
CREATE_OBJECT MMCSDSession mmcsdsession1
CREATE_OBJECT MMCSDStack mmcsdstack1
COMMAND mmcsdsession1 NewL
COMMAND mmcsdsession1 DriverOpen BASE-BSP-SD-DRIVER-MANUALStack-0005-001-DriverOpen_command01
COMMAND mmcsdstack1 NewL BASE-BSP-SD-DRIVER-MANUALStack-0005-001-NewL_command02
COMMAND mmcsdstack1 utilityPromptMessage BASE-BSP-SD-DRIVER-MANUALStack-0005-001-PromptUser_command03
COMMAND mmcsdstack1 HasCardsPresent BASE-BSP-SD-DRIVER-MANUALStack-0005-001-HasCardsPresent_command04
COMMAND mmcsdstack1 utilityPromptMessage BASE-BSP-SD-DRIVER-MANUALStack-0005-001-PromptUser_command05
COMMAND mmcsdstack1 HasCardsPresent BASE-BSP-SD-DRIVER-MANUALStack-0005-001-HasCardsPresent_command06
COMMAND mmcsdstack1 utilityPromptMessage BASE-BSP-SD-DRIVER-MANUALStack-0005-001-PromptUser_command07
COMMAND mmcsdstack1 HasCardsPresent BASE-BSP-SD-DRIVER-MANUALStack-0005-001-HasCardsPresent_command08
COMMAND mmcsdsession1 Close
COMMAND mmcsdstack1 ~
COMMAND mmcsdsession1 ~
END_TEST_BLOCK
END_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0005
START_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0006
//! @SYMTestCaseID BASE-BSP-SD-DRIVER-MANUALStack-0006
//! @SYMAPI FreeLogicalDevice(const TDesC {ref});
//! @SYMAuthor James Mechen
//! @SYMCreationDate 17/04/2008
//! @SYMTestCaseDesc Free the Logical Device Driver
//! @SYMTestActions Free the D_MMCSDIF LDD Driver
//! @SYMTestStatus Implemented
//! @SYMTestPriority high
//! @SYMTestExpectedResults logical device driver unloaded.
//! @SYMTestType CIT
START_TEST_BLOCK 100 T_mmcsd \base\mmcsd\BASE-BSP-SD-STACK-DRIVER-MANUAL.ini
CREATE_OBJECT MMCSDSession mmcsdsession1
COMMAND mmcsdsession1 NewL
COMMAND mmcsdsession1 UnLoadDriver BASE-BSP-SD-DRIVER-MANUALStack-0006-001-UnloadDriver_command02
COMMAND mmcsdsession1 ~
END_TEST_BLOCK
END_TESTCASE BASE-BSP-SD-DRIVER-MANUALStack-0006