graphicsapitest/graphicssvs/wserv/scripts/GRAPHICS-WSERV-DirectScreenAccess-PublicApi.script
author Faisal Memon <faisal.memon@nokia.com>
Thu, 06 May 2010 11:31:11 +0100
branchNewGraphicsArchitecture
changeset 47 48b924ae7197
parent 0 5d03bc08d59c
permissions -rw-r--r--
Applied patch 1, to provide a syborg specific minigui oby file. Need to compare this with the "stripped" version currently in the tree. This supplied version applies for Nokia builds, but need to repeat the test for SF builds to see if pruning is needed, or if the file needs to be device-specific.

//
// 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:
//
//! @file
//! @SYMTestSuiteName		GRAPHICS-WSERV-DirectScreenAccess-PublicApi
//! @SYMScriptTestEnvironment	This test script requires a basic ROM.

///////////////////////////////////////////////////////////////////////////////
// GRAPHICS-WSERV-DirectScreenAccess-PublicApi.script
//
// Tests all public elements of the CDirectScreenAccess class
// as a means of confidence that the API works as expected.
//
// The purpose is to provide a regression test suite of PublishedAll APIs for
// CDirectScreenAccess related classes.
// Negative testing is performed to confirm that correct errors are returned
// when incorrect parameters are given.
//
// The tests are fully automated.
///////////////////////////////////////////////////////////////////////////////

LOAD_SUITE  T_GraphicsWservAPI

// ****************************************************************************
// CDirectScreenAccess & MDirectScreenAccess
// ****************************************************************************

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0001
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0001
//! @SYMAPI                 CDirectScreenAccess::NewL(RWsSession{ref} , CWsScreenDevice{ref}, RWindowBase{ref}, MDirectScreenAccess{ref})
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Creates a DSA object but does not start it.
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice attached to RWsSession.
//!                         3. Complete the construction.
//!                         4. Create and construct a RWindow
//!                         5. Create a CDirectScreenAccess.
//!                         6. Destruct and close all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults CDirectScreenAccess object was created successfully.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        dsa         ~
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0001


START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0002
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0002
//! @SYMAPI                 CDirectScreenAccess::StartL()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Informs the window server to start DSA.
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice within the RWsSession
//!                         3. Create and construct a RWindow.
//!                         4. Create a CDirectScreenAccess
//!                         5. Start direct screen access.
//!                         6. Destruct and close all created objects.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults DSA was started successfully.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   CDirectScreenAccess    dsa
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        dsa         Cancel
        OUTSTANDING
        COMMAND        dsa         ~
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0002


START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0003
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0003
//! @SYMAPI                 CDirectScreenAccess::Gc()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Gets the graphics context for drawing to the screen.                
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice within the RWsSession
//!                         3. Create and construct a RWindow.
//!                         4. Create a CDirectScreenAccess.
//!                         5. Start direct screen access.
//!                         6. Gets the graphics context for drawing to the screen.
//!                         7. Destruct and close all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults The returned graphics context in DSA is valid.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   CDirectScreenAccess    dsa
        CREATE_OBJECT   CFbsBitGc              bgc
        CREATE_OBJECT   CFbsScreenDevice       fbsScreenDevice
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        dsa         Gc             GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-GC_command001
        COMMAND        bgc         Activate       GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-GC_command002
        COMMAND        dsa         Cancel
        COMMAND        bgc         disown
        OUTSTANDING  
        COMMAND        dsa         ~
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0003


START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0004
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0004
//! @SYMAPI                 CDirectScreenAccess::ScreenDevice()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Gets the screen device to draw to.
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice within the RWsSession
//!                         3. Create and construct a RWindow.
//!                         4. Create a CDirectScreenAccess.
//!                         5. Gets the screen device to draw to.
//!                         6. Destruct and close all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults The returned screen device in DSA is valid.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   CDirectScreenAccess    dsa
        CREATE_OBJECT   CFbsScreenDevice       fbsScreenDevice
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        dsa         ScreenDevice   GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-ScreenDevice_command001 
        COMMAND        dsa         Cancel
        OUTSTANDING
        COMMAND        fbsScreenDevice   disown
        COMMAND        dsa         ~   
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0004


START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0005
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0005
//! @SYMAPI                 CDirectScreenAccess::DrawingRegion()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Gets the graphics context for drawing to the screen.
//!                         
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice within the RWsSession
//!                         3. Create and construct a RWindow class.
//!                         4. Create a CDirectScreenAccess.
//!                         5. Start direct screen access.
//!                         6. Get the clipping region to draw to.
//!                         7. Destruct and close all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults The returned clipping region in DSA is valid.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   CDirectScreenAccess    dsa
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        dsa         DrawingRegion
        COMMAND        dsa         Cancel
        OUTSTANDING          
        COMMAND        dsa         ~        
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0005


START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0006
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0006
//! @SYMAPI                 CDirectScreenAccess::DrawingRegion()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Gets the graphics context for drawing to the screen,without Starting.
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice within the RWsSession
//!                         3. Create and construct a RWindow class.
//!                         4. Activate window and notify beginredraw/endredraw.
//!                         5. Create a CDirectScreenAccess and start.
//!                         6. Get the clipping region to draw to.
//!                         7. Destruct and close all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1.The returned clipping region in DSA is valid 2. Verify the returned region in DSA and the window shape is same.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   CDirectScreenAccess    dsa
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        win         SetShape       GRAPHICS-WSERV-DirectScreenAccess-Setup-0006-0001-SetShape_command010
        COMMAND        win         Activate
        COMMAND        win         BeginRedraw
        COMMAND        win         EndRedraw       
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        dsa         DrawingRegion  GRAPHICS-WSERV-DirectScreenAccess-Setup-0006-0001-SetShape_command010
        COMMAND        dsa         Cancel
        OUTSTANDING        
        COMMAND        dsa         ~     
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0006

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0007
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0007
//! @SYMAPI                 CDirectScreenAccess::StartL()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Create two DSA,set the priority of the second DSA to high and check that AbortNow() and Restart() are called.
//! @SYMTestActions         1.  Create and connect a RWsSession
//!                         2.  Create and construct a CWsScreenDevice within the RWsSession
//!                         3.  Create and construct a RWindow class.
//!                         4.  Create two CDirectScreenAccess.
//!                         5.  Start the second DSA with heigh priority to check first DSA's AbortNow be called.
//!                            6.    Cancel the second DSA.
//!                         7.  Destruct and close all created object.
//! @SYMTestStatus            Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1. AbortNow() and Restart() be called sucessfully.  2.Terminate reason is ETerminateRegion.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   RWindow                win2
        CREATE_OBJECT   CDirectScreenAccess    dsa
        CREATE_OBJECT   CDirectScreenAccess    dsa2
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        win2        new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win2        Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command009
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        dsa2        NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command010
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        win         SetShape       GRAPHICS-WSERV-DirectScreenAccess-Setup-0006-0001-SetShape_command010
        COMMAND        win         Activate
        COMMAND        win         BeginRedraw
        COMMAND        win         EndRedraw       
        COMMAND        dsa2        SetPriority    GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-SetPriority_command001
        COMMAND        dsa2        StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        win2        SetShape       GRAPHICS-WSERV-DirectScreenAccess-Setup-0006-0001-SetShape_command010
        COMMAND        win2        Activate
        COMMAND        win2        BeginRedraw
        COMMAND        win2        EndRedraw
        COMMAND        dsa2        Cancel
        COMMAND        dsa         Cancel
        OUTSTANDING
        COMMAND        dsa2        ~
        COMMAND        dsa         ~
        COMMAND        win         Close
        COMMAND        win2        Close
        COMMAND        wingrp      Close
        COMMAND        scrdev      ~
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0007


START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0008
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0008
//! @SYMAPI                 CDirectScreenAccess::StartL()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        19/12/2007
//! @SYMTestCaseDesc        Bring an app to foreground to check that AbortNow() and Restart() are called.
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice within the RWsSession
//!                         3. Create CDirectScreenAccess and start.
//!                         4. Bringup an app to check DSA's AbortNow() and Restart() be called.
//!                         5. Destruct and close all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1. AbortNow() and Restart() be called sucessfully. 2.Terminate reason is ETerminateRegion.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   CDirectScreenAccess    dsa
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-StartL_command001
        COMMAND        dsa         Util_BringAppFg     GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0022-0001-BringAppFg_command011
        OUTSTANDING
        COMMAND        dsa         ~        
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0008

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010
//! @SYMAPI                 CDirectScreenAccess::NewL(RWsSession{ref} , CWsScreenDevice{ref}, RWindowBase{ref}, MDirectScreenAccess{ref})
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        4/1/2008
//! @SYMTestCaseDesc        negative test, uses a non-constructed CWsScreenDevice while creating CDirectScreenAcess. 
//! @SYMTestActions         1. Creates a RWsSession and connect to server.
//!                         2. Creates a CWsScreenDevice attached to RWsSession without construction.
//!                         3. Completes the construction.
//!                         4. Creates and constructs a RWindow.
//!                         5. Creates a CDirectScreenAccess.
//!                         6. Destructs and closes all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults WSERV 3 panic received at Test Action 5.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010-0001-new_command003
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010-0001-new_command004
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010-0001-Construct_command005
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010-0001-new_command006
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010-0001-Construct_command007
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010-0001-NewL_command008
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK  !PanicString=WSERV !PanicCode=3
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0010

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0011
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0011
//! @SYMAPI                 CDirectScreenAccess::NewL(RWsSession{ref} , CWsScreenDevice{ref}, RWindowBase{ref}, MDirectScreenAccess{ref})
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        4/1/2008
//! @SYMTestCaseDesc        negative test, uses a non-constructed RWindowBase while creating CDirectScreenAccess. 
//! @SYMTestActions         1. Creates a RWsSession and connects to server.
//!                         2. Creates a CWsScreenDevice and contructs.
//!                         3. Completes the construction.
//!                         4. Creates  an RWindow
//!                         5. Create a CDirectScreenAccess with non-construction RWindowBase.
//!                         6. Starts direct screen access.
//!                         7. Destructs and closes all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1. DSA object created and no panic.
//!                         2. WSERV 6 panic received at Test Action 6. 
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        COMMAND          ws                     new
        COMMAND          ws                     Connect   
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0011-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0011-0001-new_command005
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0011-0001-NewL_command006
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0011-0001-StartL_command007
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK  !PanicString=WSERV !PanicCode=6 
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0011

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012
//! @SYMAPI                 CDirectScreenAccess::~CDirectScreenAccess()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        3/1/2008
//! @SYMTestCaseDesc        negative test, destructs CDirectScreenAccess without canceling it.              
//! @SYMTestActions         1. Creates and connects a RWsSession
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession
//!                         3. Creates and constructs a RWindow.
//!                         4. Creates a CDirectScreenAccess
//!                         5. Starts direct screen access.
//!                         6. Destructs DSA without Cancels.
//!                         6. Destructs and closes all the others created objects.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults DSA was descructed successfully (the DSA should be Cancelled at destruction).
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012-0001-Construct_command008
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012-0001-NewL_command009
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012-0001-StartL_command010
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0012

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013
//! @SYMAPI                 CDirectScreenAccess::StartL()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        3/1/2008
//! @SYMTestCaseDesc        negative test, starts DSA two times.
//!                         Informs the window server to start DSA and start again.
//! @SYMTestActions         1. Creates and connects a RWsSession
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession
//!                         3. Creates and constructs a RWindow.
//!                         4. Creates a CDirectScreenAccess
//!                         5. Starts direct screen access.
//!                         6. Starts direct screen access again.
//!                         7. Destructs and closes all created objects.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults WSERV 59 panic received at Test Action 6.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-Construct_command008
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-NewL_command009
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-StartL_command010
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013-0001-StartL_command011
        COMMAND          dsa                    Cancel
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK !PanicString=WSERV !PanicCode=59
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0013

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014
//! @SYMAPI                 CDirectScreenAccess::ScreenDevice()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        4/1/2008
//! @SYMTestCaseDesc        negative test, gets the screen device without starting DSA.
//! @SYMTestActions         1. Creates and connects a RWsSession.
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession
//!                         3. Creates and constructs a RWindow.
//!                         4. Creates a CDirectScreenAccess.
//!                         5. Gets ScreenDevice.
//!                         6. Destructs and closes all created objects.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults Error -1 received at Test Action 5.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        CREATE_OBJECT    CFbsScreenDevice       fbsScreenDevice
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014-0001-Construct_command008
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014-0001-NewL_command009
        COMMAND          !Error=-1   dsa        ScreenDevice         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014-0001-ScreenDevice_command010
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0014

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015
//! @SYMAPI                 CDirectScreenAccess::Gc()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        4/1/2008
//! @SYMTestCaseDesc        negative test, gets the graphic context without starting DSA.
//!                         Creates the DirectscreenAccess object WITHOUT starts it, gets the Gc and verify it.          
//! @SYMTestActions         1. Creates and connects a RWsSession
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession
//!                         3. Creates and constructs a RWindow.
//!                         4. Creates a CDirectScreenAccess.
//!                         5. Gets Gc
//!                         7. Destructs and closes all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults Error -1 received at Test Action 5.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        CREATE_OBJECT    CFbsBitGc              bgc
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015-0001-Construct_command008
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015-0001-NewL_command009
        COMMAND          !Error=-1  dsa         Gc                   GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015-0001-Gc_command010
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0015

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016
//! @SYMAPI                 CDirectScreenAccess::ScreenDevice()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        2/1/2008
//! @SYMTestCaseDesc        gets the screen device and uses the returned CFbsScreenDevice to get the size of the device area.
//! @SYMTestActions         1. Creates and connects a RWsSession.
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession.
//!                         3. Creates and constructs a RWindow.
//!                         4. Creates a CDirectScreenAccess and Starts it.
//!                         5. Gets the screen device.
//!                         6. Checks the Size of Screen Device.
//!                         7. Destructs and closes all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1. The returned screen device is not NULL.
//!                         2. The screen size is returned.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        CREATE_OBJECT    CFbsScreenDevice       fbsScreenDevice
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-Construct_command008
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-NewL_command009
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-StartL_command010
        COMMAND          dsa                    ScreenDevice         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016-0001-ScreenDevice_command011
        COMMAND          fbsScreenDevice        SizeInTwips
        COMMAND          dsa                    Cancel
        OUTSTANDING
        COMMAND          fbsScreenDevice        disown
        COMMAND          dsa                    ~   
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0016

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017
//! @SYMAPI                 CDirectScreenAccess::Gc()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        4/1/2008
//! @SYMTestCaseDesc        gets the graphic context and draw two lines:(25,26)-(50,60),(-10000,-10000)-(500000,600000).                       
//! @SYMTestActions         1. Creates and connects a RWsSession
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession
//!                         3. Creates and constructs a RWindow.
//!                         4. Creates a CDirectScreenAccess and Starts it.
//!                         5. Gets and actives the Gc from DSA.
//!                         6. draws line (25,26)-(50,60).
//!                         7. draws line (-10000,-10000)-(500000,600000).
//!                         8. Destructs and closes all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1. The returned Gc is not NULL. 
//!                         2. The line should be drawn no panic.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        CREATE_OBJECT    CFbsBitGc              bgc
        CREATE_OBJECT    CFbsScreenDevice       fbsScreenDevice
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-Construct_command008
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-NewL_command009
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-StartL_command010
        COMMAND          dsa                    ScreenDevice         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-ScreenDevice_command011
        COMMAND          dsa                    Gc                   GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-Gc_command012
        COMMAND          bgc                    Activate             GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-Activate_command013
        COMMAND          bgc                    DrawLine             GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-DrawLine_command014
        COMMAND          bgc                    DrawLine             GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017-0001-DrawLine_command015
        COMMAND          fbsScreenDevice        Update
        COMMAND          dsa                    Cancel
        COMMAND          bgc                    disown
        COMMAND          fbsScreenDevice        disown  
        OUTSTANDING  
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0017

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018
//! @SYMAPI                 CDirectScreenAccess::StartL()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        8/1/2008
//! @SYMTestCaseDesc        sets a region ,starts the DSA, cancels it, changes the region and starts again.
//! @SYMTestActions         1. Creates and connects a RWsSession
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession
//!                         3. Creates and constructs a RWindow.
//ŁĄ                        4. Actives the RWindow.
//!                         5. Changes the sharp of the region of RWindow. 
//!                         6. Creates a CDirectScreenAccess and Starts it.
//!                         7. Checks the DrawRegion.
//!                         8. Cancels the DSA.
//!                         9. Changes the sharp of the region of RWindow to another size. 
//!                         10. Starts the DSA again.
//!                         11. Checks the DrawRegion again.
//!                         12. Destructs and closes all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1. DSA was started successfully at first time.
//!                         2. DSA was started successfully at second time.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-Construct_command008
        COMMAND          win                    Activate
        COMMAND          win                    SetShape             GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-SetShape_command010
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-NewL_command011
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-StartL_command012
        COMMAND          dsa                    DrawingRegion        GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-DrawingRegion_command013
        COMMAND          dsa                    Cancel
        OUTSTANDING
        COMMAND          win                    SetShape             GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-SetShape_command016        
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-StartL_command017
        COMMAND          dsa                    DrawingRegion        GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018-0001-DrawingRegion_command018 
        COMMAND          dsa                    Cancel
        OUTSTANDING  
        COMMAND          dsa                    ~
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0018

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019
//! @SYMAPI                 CDirectScreenAccess::StartL()
//! @SYMAuthor              Yue Zhang
//! @SYMCreationDate        15/1/2008
//! @SYMTestCaseDesc        Starts DSA , Brings an app to foreground , starts DSA again.
//! @SYMTestActions         1. Creates and connects a RWsSession
//!                         2. Creates and constructs a CWsScreenDevice within the RWsSession
//!                         3. Creates CDirectScreenAccess and start.
//!                         4. Brings up an app to check DSA's AbortNow() and Restart() be called.
//!                         5. Starts DSA again.
//!                         5. Destruct and close all created object.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults 1. AbortNow() and Restart() be called sucessfully after the app had been brought to foreground. 
//!                         2. Terminate reason is ETerminateRegion.
//!                         3. DSA was started successfully at second time.
//! @SYMTestType            CIT
    START_TEST_BLOCK     10                     T_GraphicsWservAPI   \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT    RWsSession             ws
        CREATE_OBJECT    CWsScreenDevice        scrdev
        CREATE_OBJECT    RWindowGroup           wingrp
        CREATE_OBJECT    RWindow                win
        CREATE_OBJECT    CDirectScreenAccess    dsa
        COMMAND          ws                     new
        COMMAND          ws                     Connect
        COMMAND          scrdev                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-new_command003
        COMMAND          scrdev                 Construct
        COMMAND          wingrp                 new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-new_command005
        COMMAND          wingrp                 Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-Construct_command006
        COMMAND          win                    new                  GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-new_command007
        COMMAND          win                    Construct            GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-Construct_command008
        COMMAND          dsa                    NewL                 GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-NewL_command009
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-StartL_command010
        COMMAND          dsa                    Util_BringAppFg      GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-BringAppFg_command011
        OUTSTANDING
        COMMAND          dsa                    StartL               GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019-0001-StartL_command013
        COMMAND          dsa                    Cancel
        OUTSTANDING
        COMMAND          dsa                    ~        
        COMMAND          scrdev                 ~
        COMMAND          win                    Close
        COMMAND          wingrp                 Close
        COMMAND          ws                     Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0019

START_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0020
//! @SYMTestCaseID          GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0020
//! @SYMAPI                 CDirectScreenAccess::StartL()
//! @SYMAuthor              Jeffery Zhao
//! @SYMCreationDate        16-05-2008
//! @SYMTestCaseDesc        Informs the window server to start DSA and set window displaymode to EColor4K.
//! @SYMTestActions         1. Create and connect a RWsSession
//!                         2. Create and construct a CWsScreenDevice within the RWsSession
//!                         3. Create and construct a RWindow.
//!                         4. Create a CDirectScreenAccess.
//!                         5. Set the window displaymode to EColor4K.
//!                         6. Get the window displaymode to verify.
//!                         7. Start direct screen access.
//!                         8. Destruct and close all created objects.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults DSA was started successfully.
//! @SYMTestType            CIT
    START_TEST_BLOCK    10         T_GraphicsWservAPI    \graphics\GRAPHICS-WSERV-DirectScreenAccess-PublicApi.ini
        CREATE_OBJECT   RWsSession             ws
        CREATE_OBJECT   CWsScreenDevice        scrdev
        CREATE_OBJECT   RWindowGroup           wingrp
        CREATE_OBJECT   RWindow                win
        CREATE_OBJECT   CDirectScreenAccess    dsa
        COMMAND        ws          new
        COMMAND        ws          Connect
        COMMAND        scrdev      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        scrdev      Construct
        COMMAND        wingrp      new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        wingrp      Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command006
        COMMAND        win         new            GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-new_command003
        COMMAND        win         Construct      GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-Construct_command008
        COMMAND        dsa         NewL           GRAPHICS-WSERV-DirectScreenAccess-Setup-0001-0001-NewL_command009
        COMMAND        win         SetRequiredDisplayMode GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0020-0001-SetRequiredDisplayMode_command010
        COMMAND        win         DisplayMode    GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0020-0001-DisplayMode_command011
        COMMAND        dsa         StartL         GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0020-0001-StartL_command012
        COMMAND        dsa         Cancel
        OUTSTANDING
        COMMAND        dsa         ~
        COMMAND        scrdev      ~
        COMMAND        win         Close
        COMMAND        wingrp      Close
        COMMAND        ws          Close
    END_TEST_BLOCK
END_TESTCASE GRAPHICS-WSERV-DirectScreenAccess-PublicApi-0020