//
// 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-WsScreenDevice-PublicApi
//! @SYMScriptTestEnvironment	This test script requires a basic ROM.

/////////////////////////////////////////////////////////////////////
// GRAPHICS-WSERV-WsScreenDevice-PublicAPI.script
//
// Tests all public elements of the CWsScreenDevice
// classes as a means of confidence that the APIs work as expected.
//
// The purpose is to provide a regression test suite of PublishedAll APIs for CWsScreenDevice
// The tests are fully automated.
/////////////////////////////////////////////////////////////////////

LOAD_SUITE      T_GraphicsWservAPI
DELAY           1000

//! @file
//! @SYMTestSuiteName           GRAPHICS-WSERV-WsScreenDevice-PublicAPI
//! @SYMScriptTestEnvironment   This test script requires a basic ROM.

/////////////////////////////////////////////////////////////////////
// CWsScreenDevice class
/////////////////////////////////////////////////////////////////////


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0001
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0001
//! @SYMAPI                     CWsScreenDevice::CWsScreenDevice()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            create a CWsScreenDevice object by C++ default constructor
//! @SYMTestActions             1. Construct a CWsScreenDevice
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     CWsScreenDevice was created without causing panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 scrdev            new       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0001

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0002
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0002
//! @SYMAPI                     CWsScreenDevice::CWsScreenDevice(RWsSession{ref})
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Create a CWsScreenDevice attached to a RWsSession and destruct it after closing RWsSession
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Close the RWsSession object(There could be a resource leak as the CWsScreenDevice is not deleted before close the RWsSession)
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     CWsScreenDevice was created without causing panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0002-0001-new_command03       
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0002


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0003
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0003
//! @SYMAPI                     CWsScreenDevice::~CWsScreenDevice()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Create a CWsScreenDevice attached to a RWsSession and destruct it before closing RWsSession
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Destruct the CWsScreenDevice object
//!                             4. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     CWsScreenDevice was destructed without causing panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0003-0001-new_command03       
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0003


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0004
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0004
//! @SYMAPI                     CWsScreenDevice::Construct()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Create a CWsScreenDevice attached to a RWsSession and complete the construction
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Destruct the CWsScreenDevice object
//!                             5. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and returns KErrNone 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0004-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0004



START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0005
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0005
//! @SYMAPI                     CWsScreenDevice::Construct(TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Create a CWsScreenDevice attached to a RWsSession and complete the construction, specify the screen on which the application will start.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Destruct the CWsScreenDevice object
//!                             5. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and returns KErrNone 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0005-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0005-0001-Construct_command04         
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0005



START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0006
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0006
//! @SYMAPI                     CWsScreenDevice::DisplayMode()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the device's display mode.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the screen's display mode 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and returns the default display mode as defined in the environment file
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0006-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            DisplayMode   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0006-0001-DisplayMode_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0006



START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0010
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0010
//! @SYMAPI                     CWsScreenDevice::PointerRect()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the active area for the pointing device
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets the active area for the pointing device using PointerRect()
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the returned active area is as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0010-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            PointerRect   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0010-0001-PointerRect_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0010


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0011
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0011
//! @SYMAPI                     CWsScreenDevice::CreateContext(CGraphicsContext{ptr}{ref})
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Creates a graphics context for this device, and set context's background color to TRgb(255,0,0)
//! @SYMTestActions             1. Setup a CWindowGc to test and a RWindow to display its drawing result
//!                             1.1 New and connect a RWsSession
//!                             1.2 New and construct a CWsScreenDevice within the RWsSession
//!                             1.3 Create a CWindowGc within the CWsScreenDevice (use CreateContext)
//!                             1.4 New and construct a RWindowGroup within the RWsSession
//!                             1.5 New and construct a RWindow as the child of the RWindowGroup
//!                                     and SetRequiredDisplayMode (to EColor4K) for the RWindow, SetBackgroundColor to TRgb(255,0,0)
//!                             1.6 SetAutoFlush to TRUE for the RWsSession
//!                             1.7 Activate the CWindowGc to the RWindow
//!                             2.Use RWindow::BeginRedraw() to start a redraw cycle
//!                             3.RWindow::EndRedraw() 
//!                             4.check some pixels is drawn with the pen color TRgb(255,0,0)  
//!                             5.Deactive RWindow, destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CreateContext() method returns KErrNone and creates a CWindowGc object
//!                             2. the drawing result of testaction 1.5
//!                             2.1 the pixels (19,10) is drawn with the pen color TRgb(255,0,0)  
//!                             2.2 the pixels (50,30) is drawn with the pen color TRgb(255,0,0)  
//!                             2.3 the pixels (20,29) is drawn with the pen color TRgb(255,0,0)  
//!                             2.4 the pixels (10,50) is drawn with the pen color TRgb(255,0,0)  
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            CreateContext GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-CreateContext_command05              
        COMMAND                 wingrp            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-new_command06
        COMMAND                 wingrp            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-Construct_command07
        COMMAND                 win               new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-new_command08
        COMMAND                 win               Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate  
        COMMAND                 ws                SetAutoFlush  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 win               EndRedraw
        COMMAND                 scrdev            checkPixels   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0011-0001-checkPixels_command17
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~        
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0011


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0012
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0012
//! @SYMAPI                     CWsScreenDevice::CreateContext(CWindowGc{ptr}{ref})
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Creates a graphics context for this device, and set context's background color to TRgb(255,0,0)
//! @SYMTestActions             1. Setup a CWindowGc to test and a RWindow to display its drawing result
//!                             1.1 New and connect a RWsSession
//!                             1.2 New and construct a CWsScreenDevice within the RWsSession
//!                             1.3 Create a CWindowGc within the CWsScreenDevice (use CreateContext)
//!                             1.4 New and construct a RWindowGroup within the RWsSession
//!                             1.5 New and construct a RWindow as the child of the RWindowGroup
//!                                     and SetRequiredDisplayMode (to EColor4K) for the RWindow, SetBackgroundColor to TRgb(0,255,0)
//!                             1.6 SetAutoFlush to TRUE for the RWsSession
//!                             1.7 Activate the CWindowGc to the RWindow
//!                             2.Use RWindow::BeginRedraw() to start a redraw cycle
//!                             3.RWindow::EndRedraw() 
//!                             4.check some pixels is drawn with the pen color TRgb(0,255,0)  
//!                             5.Deactive RWindow, destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CreateContext() method returns KErrNone and creates a CWindowGc object
//!                             2. the drawing result of testaction 1.5
//!                             2.1 the pixels (19,10) is drawn with the pen color TRgb(0,255,0)  
//!                             2.2 the pixels (50,30) is drawn with the pen color TRgb(0,255,0)  
//!                             2.3 the pixels (20,29) is drawn with the pen color TRgb(0,255,0)  
//!                             2.4 the pixels (10,50) is drawn with the pen color TRgb(0,255,0)  
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            CreateContext GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-CreateContext_command05              
        COMMAND                 wingrp            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-new_command06
        COMMAND                 wingrp            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-Construct_command07
        COMMAND                 win               new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-new_command08
        COMMAND                 win               Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate  
        COMMAND                 ws                SetAutoFlush  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 win               EndRedraw
        COMMAND                 scrdev            checkPixels   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0012-0001-checkPixels_command17
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~        
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0012


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0013
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0013
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInTwips(CFont{ptr}{ref}, const TFontSpec{ref})
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the nearest font in twips to that specified
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets the nearest font matches the design height in twips 
//!                             5. Check the returned font is expected 
//!                             6. Destruct the CWsScreenDevice object
//!                             7. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the returned device font is as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0013-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0013-0001-GetNearestFontToDesignHeightInTwips_command05              
        COMMAND                 font              FontSpecInTwips                      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0013-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0013


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0014
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0014
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInTwips(CFont{ptr}{ref}, const TFontSpec{ref}, TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the nearest font in twips to that specified
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets the nearest font matches the max height in twips 
//!                             5. Check the returned font is expected
//!                             6. Destruct the CWsScreenDevice object
//!                             7. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the returned device font is as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0014-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0014-0001-GetNearestFontToMaxHeightInTwips_command05        
        COMMAND                 font              FontSpecInTwips                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0014-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0014


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0015
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0015
//! @SYMAPI                     CWsScreenDevice::NumTypefaces()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the number of typefaces supported by the screen device
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets the number of typefaces supported by the screen device using NumTypefaces()
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the returned number is as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0015-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            NumTypefaces  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0015-0001-NumTypefaces_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0015


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0016
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0016
//! @SYMAPI                     CWsScreenDevice::TypefaceSupport(TTypefaceSupport{ref}, TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets typeface information for a particular typeface index number
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets typeface information for a particular typeface index number
//!                             5. Check the returned typeface information is expected   
//!                             6. Destruct the CWsScreenDevice object
//!                             7. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the returned typeface information is as expected 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0016-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            TypefaceSupport  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0016-0001-TypefaceSupport_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0016


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0017
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0017
//! @SYMAPI                     CWsScreenDevice::TypefaceSupport(TTypefaceSupport{ref}, TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Negative test, gets typeface information for a particular typeface index number, input 100 as aTypefaceIndex.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets typeface information for a particular typeface index number 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0017-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            TypefaceSupport  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0017-0001-TypefaceSupport_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0017


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0018
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0018
//! @SYMAPI                     CWsScreenDevice::FontHeightInTwips(TInt, TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the height in twips of the specified font
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets the height in twips of the specified font 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the returned font height is as expected 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0018-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            FontHeightInTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0018-0001-FontHeightInTwips_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0018


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0019
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0019
//! @SYMAPI                     CWsScreenDevice::FontHeightInTwips(TInt, TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Negative test, gets the height in twips of the specified font, input 100 as aTypefaceIndex.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Gets the height in twips of the specified font using FontHeightInTwips()
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the returns 0  
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0019-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            FontHeightInTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0019-0001-FontHeightInTwips_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0019




START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0020
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0020
//! @SYMAPI                     CWsScreenDevice::SizeInPixels()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Create a CWsScreenDevice attached to a RWsSession and complete the construction, gets the size of the screen device area in pixels.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the screen's size in pixels
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned screen sizes in pixels and twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0020-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            SizeInPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0020-0001-SizeInPixels_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0020


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0021
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0021
//! @SYMAPI                     CWsScreenDevice::SizeInTwips()
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the size of the screen device area in twips
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the screen's size in twips
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned screen sizes in twips and twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0021-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            SizeInTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0021-0001-SizeInTwips_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0021


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0022
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0022
//! @SYMAPI                     CWsScreenDevice::HorizontalTwipsToPixels(TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Translates a horizontal dimension of a screen device in twips into pixels
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates a horizontal dimension twips into pixels 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned pixels are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0022-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            HorizontalTwipsToPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0022-0001-HorizontalTwipsToPixels_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0022


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0023
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0023
//! @SYMAPI                     CWsScreenDevice::VerticalTwipsToPixels(TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Translates a vertical dimension of a screen device in twips into pixels
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates a vertical dimension twips into pixels 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned pixels are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0023-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            VerticalTwipsToPixels    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0023-0001-VerticalTwipsToPixels_command05             
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0023


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0024
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0024
//! @SYMAPI                     CWsScreenDevice::HorizontalPixelsToTwips(TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Translates a horizontal dimension of a screen device in pixels into twips
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates a horizontal dimension pixels into twips 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0024-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            HorizontalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0024-0001-HorizontalPixelsToTwips_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0024

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0025
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0025
//! @SYMAPI                     CWsScreenDevice::VerticalPixelsToTwips(TInt)
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Translates a vertical dimension of a screen device in pixels into twips
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates a vertical dimension pixels into twips 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0025-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            VerticalPixelsToTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0025-0001-VerticalPixelsToTwips_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0025



START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0048
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0048
//! @SYMAPI                     CWsScreenDevice::SetScreenSizeAndRotation(const TPixelsAndRotation{ref});
//!                             CWsScreenDevice::GetDefaultScreenSizeAndRotation(TPixelsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Sets the current screen size in pixels, and the rotation for the screen device
//!                             Gets the current screen size in pixels and the rotation
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call SetScreenSizeAndRotation(const TPixelsAndRotation&) to set the current screen size in pixels, and the rotation for the screen device
//!                             5. Call GetDefaultScreenSizeAndRotation(TPixelsAndRotation&) to get the screen size and rotation with default mode, and check them to be as expected
//!                             6. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     1. SetScreenSizeAndRotation(const TPixelsAndRotation&) method without causing panic
//!                             2. Method GetDefaultScreenSizeAndRotation(TPixelsAndRotation&) called without causing panic and get values as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0048-0001-new_command03
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0048-0001-SetScreenSizeAndRotation_command05
        COMMAND                 scrdev            GetDefaultScreenSizeAndRotation       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0048-0001-GetDefaultScreenSizeAndRotation_command06
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0048


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0049
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0049
//! @SYMAPI                     CWsScreenDevice::GetScreenModeSizeAndRotation(TInt, TPixelsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the screen rotation and size (in pixels) for the specified screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetScreenModeSizeAndRotation(TInt, TPixelsAndRotation&) to get the screen size in pixels and rotation with specified mode, and check them to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetScreenModeSizeAndRotation(TInt, TPixelsAndRotation&) called without causing panic and get values as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0049-0001-new_command03
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeSizeAndRotation          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0049-0001-GetScreenModeSizeAndRotation_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0049


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0050
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0050
//! @SYMAPI                     CWsScreenDevice::SetScreenSizeAndRotation(const TPixelsTwipsAndRotation{ref});
//!                             CWsScreenDevice::GetDefaultScreenSizeAndRotation(TPixelsTwipsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Sets the current screen size in twips and pixels, and the rotation for the screen device
//!                             Gets the current screen size (in both pixels and twips) and rotation
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call SetScreenSizeAndRotation(const TPixelsTwipsAndRotation&) to sets the current screen size (in both twips and pixels) and the rotation for the screen device
//!                             5. Call GetDefaultScreenSizeAndRotation(TPixelsTwipsAndRotation&) to get the screen size (in both twips and pixels) and rotation with specified mode, and check them to be as expected
//!                             6. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     1. SetScreenSizeAndRotation(const TPixelsTwipsAndRotation&) method without causing panic
//!                             2. Method GetDefaultScreenSizeAndRotation(TPixelsTwipsAndRotation&) called without causing panic and get values as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0050-0001-new_command03
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0050-0001-SetScreenSizeAndRotation_command05
        COMMAND                 scrdev            GetDefaultScreenSizeAndRotation       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0050-0001-GetDefaultScreenSizeAndRotation_command06
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0050

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0051
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0051
//! @SYMAPI                     CWsScreenDevice::GetScreenModeSizeAndRotation(TInt, TPixelsTwipsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the screen rotation and size, in both pixels and twips, for the specified screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetScreenModeSizeAndRotation(TInt, TPixelsTwipsAndRotation&) to get the screen size (in both twips and pixels) and rotation with specified mode, and check them to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetScreenModeSizeAndRotation(TInt, TPixelsTwipsAndRotation&) called without causing panic and get values as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0051-0001-new_command03
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeSizeAndRotation          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0051-0001-GetScreenModeSizeAndRotation_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0051

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0052
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0052
//! @SYMAPI                     CWsScreenDevice::ScreenModeEnforcement()
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the current screen mode enforcement settings
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call ScreenModeEnforcement() to get the current screen mode enforcement settings and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method ScreenModeEnforcement() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0052-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            ScreenModeEnforcement         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0052-0001-ScreenModeEnforcement_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0052


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0053
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0053
//! @SYMAPI                     CWsScreenDevice::NumScreenModes()
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the number of available screen modes
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call NumScreenModes() to get the number of screen modes and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method NumScreenModes() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0053-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            NumScreenModes                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0053-0001-NumScreenModes_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0053


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0054
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0054
//! @SYMAPI                     CWsScreenDevice::GetScreenSizeModeList(RArray<TInt>{ptr})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the available screen size modes
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetScreenSizeModeList() to get the count of the available screen size modes and check it to be expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetScreenSizeModeList() called without causing panic and the values are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0054-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenSizeModeList         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0054-0001-GetScreenSizeModeList_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0054

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0055
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0055
//! @SYMAPI                     CWsScreenDevice::GetDefaultScreenModeOrigin()
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the origin for the current screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetDefaultScreenModeOrigin() to get the origin for the default screen mode and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetDefaultScreenModeOrigin() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0055-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetDefaultScreenModeOrigin            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0055-0001-GetDefaultScreenModeOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0055


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0056
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0056
//! @SYMAPI                     CWsScreenDevice::CurrentScreenMode()
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the current screen mode index
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call CurrentScreenMode() to get the current screen mode index and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method CurrentScreenMode() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0056-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CurrentScreenMode             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0056-0001-CurrentScreenMode_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0056


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0057
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0057
//! @SYMAPI                     CWsScreenDevice::GetRotationsList(TInt, CArrayFixFlat<TInt>{ptr})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the list of valid rotations for a particular screen size
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetRotationsList() to get the count of the available rotations for a particular screen size and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetRotationsList() called without causing panic and the values are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0057-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetRotationsList              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0057-0001-GetRotationsList_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0057

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0058
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0058
//! @SYMAPI                     CWsScreenDevice::GetScreenModeOrigin(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Get the origin of the screen for the specified screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetScreenModeOrigin() to get the origin for the specified screen mode and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetScreenModeOrigin() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0058-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeOrigin                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0058-0001-GetScreenModeOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0058

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0059
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0059
//! @SYMAPI                     CWsScreenDevice::SetAppScreenMode(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Sets the application's screen mode; this also sets all the attributes of the screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call SetAppScreenMode() to set the application's screen mode
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     SetAppScreenMode method without causing panic.(There seems no methods to check the value is set as expected)
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0059-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            SetAppScreenMode      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0059-0001-SetAppScreenMode_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0059

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0060
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0060
//! @SYMAPI                     CWsScreenDevice::GetCurrentScreenModeScale()
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the scale for the current screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetCurrentScreenModeScale() to get the scale for the current screen mode and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetCurrentScreenModeScale() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0060-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetCurrentScreenModeScale             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0060-0001-GetCurrentScreenModeScale_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0060

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0061
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0061
//! @SYMAPI                     CWsScreenDevice::GetScreenModeScale(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the scale for the specified screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetScreenModeScale() to get the scale for the specified screen mode and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetScreenModeScale() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0061-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeScale                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0061-0001-GetScreenModeScale_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0061

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0062
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0062
//! @SYMAPI                     CWsScreenDevice::GetCurrentScreenModeScaledOrigin()
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the current screen mode's scaled origin
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetCurrentScreenModeScaledOrigin() to get the scaled origin for the current screen mode and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetCurrentScreenModeScaledOrigin() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0062-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetCurrentScreenModeScaledOrigin      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0062-0001-GetCurrentScreenModeScaledOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0062

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0063
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0063
//! @SYMAPI                     CWsScreenDevice::GetScreenModeScaledOrigin(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the specfied screen mode's scaled origin
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetScreenModeScaledOrigin() to get the scaled origin for the specified screen mode and check it to be as expected
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetScreenModeScaledOrigin() called without causing panic and return expected value
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0063-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeScaledOrigin             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0063-0001-GetScreenModeScaledOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0063

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0064
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0064
//! @SYMAPI                     CWsScreenDevice::GetScreenModeDisplayMode(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the display mode of the screen for the specified screen mode
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Call GetScreenModeDisplayMode() to get the display mode of the screen for the specified screen mode
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     Method GetScreenModeDisplayMode() called without causing panic and return expected display mode
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0064-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeDisplayMode      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0064-0001-GetScreenModeDisplayMode_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK   
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0064


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0100
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0100
//! @SYMAPI                     CWsScreenDevice::GetPixel(TRgb {ref}, const TPoint {ref}) const
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets color of specified point of screen
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession 
//!                             3. Completes the construction
//!                             4. Gets pixel at point(1, 1) to verify the color of pixel is white
//!                             5. Destructs the CWsScreenDevice object
//!                             6. Closes the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The color of specified point matchs with expected value 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0100-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0100-0001-Construct_command04  
        COMMAND                 scrdev            GetPixel      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0100-0001-GetPixel_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0100

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0101
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0101
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets a scanline into a buffer
//! @SYMTestActions             1. Setup a CWindowGc and a RWindow.
//!                             1.1 New and connect a RWsSession
//!                             1.2 New and construct a CWsScreenDevice within the RWsSession
//!                             1.3 Create a CWindowGc within the CWsScreenDevice (use CreateContext)
//!                             1.4 New and construct a RWindowGroup within the RWsSession
//!                             1.5 New and construct a RWindow as the child of the RWindowGroup
//!                                     and SetRequiredDisplayMode (to EColor64K) for the RWindow, SetBackgroundColor to TRgb(255,0,0)
//!                             1.6 SetAutoFlush to TRUE for the RWsSession
//!                             1.7 Activate the CWindowGc to the RWindow
//!                             2.Use RWindow::BeginRedraw() to start a redraw cycle
//!                             3.RWindow::EndRedraw() 
//!                             4.Get scanline from screen.
//!                             5.Deactive RWindow, destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. The scanline get copied, and no panic get raised 
//!                             2. Check the scanline(Get pixel (1,1) of the scanline, the color is red).
//! @SYMTestType                CIT
        START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-CreateContext_command05
        CREATE_OBJECT           RWindowGroup      wingrp
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-Construct_command07
        CREATE_OBJECT           RWindow           win
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 win               EndRedraw
        COMMAND                 scrdev            GetScanLine                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0101-0001-GetScanLine_command17
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0101

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0102
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0102
//! @SYMAPI                     TInt CWsScreenDevice::AddFile(const TDesC {ref}, TInt {ref});
//!                             CWsScreenDevice::RemoveFile(TInt)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            1. Adds a font file to the device's typeface store
//!                             2. Removes a font file from device's typeface store
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Creates a CFont object
//!                             5. Checks that the font does not exist
//!                             6. Adds a font file to the device's typeface store.
//!                             7. Checks the expected font is added successfully
//!                             8. Removes a font file from device's typeface store
//!                             9. Checks the expected font is removed successfully
//!                             10. Destructs the CWsScreenDevice object
//!                             11. Closes the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. Checks that the font named 'Acb14' exists or not, it is negtive case, expects the font does not exist.
//!                             2. The specified font file is added to device's typeface store,
//!                             3. Checks that the font named 'Act14' is added successfully.
//!                             4. The added file is removed from device's typeface store successfully.
//!                             5. Checks that the font named 'Act14' is removed as expected, it is negtive case, expects the font does not exist.
//!                             6. Releases the reference of font added.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-Construct_command04 
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-GetNearestFontToDesignHeightInTwips_command05
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-FontSpecInTwips_command06
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-ReleaseFont_command07
        COMMAND                 scrdev            AddFile            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-AddFile_command08
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-GetNearestFontToDesignHeightInTwips_command09
        COMMAND                 font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-FontSpecInTwips_command10
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-ReleaseFont_command11
        COMMAND                 scrdev            RemoveFile         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-RemoveFile_command12
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-GetNearestFontToDesignHeightInTwips_command13
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-FontSpecInTwips_command14
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0102-0001-ReleaseFont_command15
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0102

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0104
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0104
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInPixels(CFont {ptr}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the nearest font in pixels to that specified
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Creates a CFont object
//!                             5. Gets the nearest font in pixels to that specified.
//!                             6. Checks if the returned device font is as expected
//!                             7. Destructs the CWsScreenDevice object
//!                             8. Closes the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     KErrNone is returned and the returned device font is as expected. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0104-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0104-0001-Construct_command04  
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0104-0001-GetNearestFontToDesignHeightInPixels_command05
        COMMAND                 font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0104-0001-FontSpecInTwips_command06
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0105-0001-ReleaseFont_command07
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0104

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0105
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0105
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInPixels(CFont {ptr}{ref}, const TFontSpec {ref}, TInt)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the nearest font in pixels to that specified
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Create a CFont object
//!                             5. Gets the nearest font in pixels to that specified.
//!                             6. Checks if the returned device font is as expected
//!                             7. Destruct the CWsScreenDevice object
//!                             8. Close the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     KErrNone is returned and the returned device font is as expected. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0105-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0105-0001-Construct_command04  
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0105-0001-GetNearestFontToMaxHeightInPixels_command05
        COMMAND                 font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0105-0001-FontSpecInTwips_command06
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0105-0001-ReleaseFont_command07
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0105

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0106
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0106
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect {ref}, const TRect {ref})
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            12/10/2007
//! @SYMTestCaseDesc            Set up and draw 3 50*50 rect regions on white screen. Region1 is the same as region2. Region3 is different.
//!                             Compare region1 and region2.
//!                             Compare region1 and region3.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw 3 rectangle(50*50 size,filled with red, border is black)in 3 different regions.Region1 is the same as region2. Region3 is different.
//!                             8. Call CWsScreenDevice::RectCompare() to compare region1 and region2.
//!                             9. Call CWsScreenDevice::RectCompare() to compare region1 and region3.
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. RectCompare which compares region1 and region2 returns ETrue.
//!                             2. RectCompare which compares region1 and region3 returns EFalse.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-CreateContext_command05
        CREATE_OBJECT           RWindowGroup      wingrp
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-Construct_command07
        CREATE_OBJECT           RWindow           win
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-DrawRect_command19
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-DrawRect_command20
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-DrawRect_command21
        COMMAND                 win               EndRedraw
        COMMAND                 scrdev            RectCompare                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-RectCompare_command23
        COMMAND                 scrdev            RectCompare                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0106-0001-RectCompare_command24
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0106

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0107
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0107
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect {ref}, const TRect {ref})
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/24/2007
//! @SYMTestCaseDesc            Set up and draw 3 50*50 rect regions on white screen. Region1 is the same as region2. Region3 is different, Overloaded with flag EIncludeSprite.
//!                             Compare region1 and region2.
//!                             Compare region1 and region3.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw 3 rectangle(50*50 size,filled with red, border is black)in 3 different regions.Region1 is the same as region2. Region3 is different.
//!                             8. Verifys region1 and region2 are identical.
//!                             9. Verifys region1 and region3 are not identical.
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. RectCompare which compares region1 and region2 returns ETrue.
//!                             2. RectCompare which compares region1 and region3 returns EFalse.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-CreateContext_command05
        CREATE_OBJECT           RWindowGroup      wingrp
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-Construct_command07
        CREATE_OBJECT           RWindow           win
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-DrawRect_command19
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-DrawRect_command20
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-DrawRect_command21
        COMMAND                 win               EndRedraw
        COMMAND                 scrdev            RectCompare                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-RectCompare_command23
        COMMAND                 scrdev            RectCompare                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0107-0001-RectCompare_command24
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0107

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0108
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0108
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect{ref}, const TRect{ref}, TUint)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            14/12/2007
//! @SYMTestCaseDesc            Draw two sprites on the screen, set a text cursor.
//!                             Then compares two rect areas of the screen to verify if they have the same content. Using three compare style: remove sprite, include sprite, text cursor.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a CWindowGc attached to CWsScreenDevice.
//!                             4. Create a RWindowGroup attached to RWsSession.
//!                             5. Create a RWindow, setup it and activate.
//!                             6. SetAutoFlush to TRUE for the RWsSession.
//!                             7. Active CWindowGc.
//!                             8. Use RWindow::BeginRedraw() to start a redraw cycle
//!                             9. Use RWindow::EndRedraw() to end draw
//!                             10. Create 2 RWsSprite attached to RWsSession by using RWsSprite(RWsSession &aWs) and construct.
//!                             11. Create 4 CFbsBitmap objects and load bitmaps.
//!                             12. Append these CFbsBitmaps to RWsSprites.
//!                             13. Set RWsSprites's position using SetPosition().
//!                             14. Set a text cursor using RWindowGroup::SetTextCursor().
//!                             15. Call RectCompare() to compare 2 areas of same content with ERemoveSprite.
//!                             16. Call RectCompare() to compare 2 areas of same content with EIncludeSprite.
//!                             17. Call RectCompare() to compare 2 areas of different content with EIncludeTextCursor.
//!                             18. Deactive RWindow, destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. No panic 
//!                             2. compare result 
//!                             2.1 15 returns ETrue  
//!                             2.2 16 returns ETrue  
//!                             2.3 17 returns EFalse  
//! @SYMTestType                CIT
        START_TEST_BLOCK        10           T_GraphicsWservAPI \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
                CREATE_OBJECT           RWsSession          ws
                CREATE_OBJECT           CWsScreenDevice     scrdev
                CREATE_OBJECT           CWindowGc           wgc
                CREATE_OBJECT           CFbsBitmap          fbsbmp1
                CREATE_OBJECT           CFbsBitmap          fbsbmp2
                CREATE_OBJECT           CFbsBitmap          fbsbmp3
                CREATE_OBJECT           CFbsBitmap          fbsbmp4
                CREATE_OBJECT           RWindowGroup        wingrp
                CREATE_OBJECT           RWindow             win
                CREATE_OBJECT           RWsSprite           sprite1
                CREATE_OBJECT           RWsSprite           sprite2
                COMMAND                 ws                  new
                COMMAND                 ws                  Connect
                COMMAND                 scrdev              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-new_command03       
                COMMAND                 scrdev              Construct
                COMMAND                 scrdev              CreateContext       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-CreateContext_command05
                COMMAND                 wingrp              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-new_command06
                COMMAND                 wingrp              Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-Construct_command07
                COMMAND                 win                 new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-new_command08
                COMMAND                 win                 Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-Construct_command09
                COMMAND                 win                 Activate
                COMMAND                 ws                  SetAutoFlush        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-SetAutoFlush_command11
                COMMAND                 wgc                 Activate            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-Activate_command12
                COMMAND                 win                 BeginRedraw
                COMMAND                 win                 EndRedraw

                COMMAND                 sprite1             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-new_command15
                COMMAND                 sprite1             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-construct_command16
                COMMAND                 fbsbmp1             new           
                COMMAND                 fbsbmp1             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-loadmask_command18
                
                COMMAND                 fbsbmp2             new           
                COMMAND                 fbsbmp2             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-load_command20
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-appendmember_command21
                
                COMMAND                 fbsbmp3             new           
                COMMAND                 fbsbmp3             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-load_command23
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-appendmember_command24

                COMMAND                 fbsbmp4             new           
                COMMAND                 fbsbmp4             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-load_command26
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-appendmember_command27

                COMMAND                 sprite1             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-SetPosition_command28
                
                COMMAND                 sprite2             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-new_command29
                COMMAND                 sprite2             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-construct_command30
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-appendmember_command31
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-appendmember_command32
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-appendmember_command33

                COMMAND                 sprite2             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-SetPosition_command34
                COMMAND                 sprite1             Activate
                COMMAND                 sprite2             Activate
                
                COMMAND                 wingrp              SetTextCursor       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-SetTextCursor_command37
                
                DELAY 1000000
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-RectCompare_command38
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-RectCompare_command39
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0108-0001-RectCompare_command40
                
                COMMAND                 fbsbmp1             ~
                COMMAND                 fbsbmp2             ~
                COMMAND                 fbsbmp3             ~
                COMMAND                 fbsbmp4             ~
                COMMAND                 wgc                 Deactivate
                COMMAND                 win                 Close
                COMMAND                 wingrp              Close
                COMMAND                 wgc                 ~
                COMMAND                 sprite1             Close
                COMMAND                 sprite2             Close
                COMMAND                 scrdev              ~        
                COMMAND                 ws                  Close
        END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0108

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0109
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0109
//! @SYMAPI                     CWsScreenDevice::GetScreenNumber() const
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/24/2007
//! @SYMTestCaseDesc            Get device's screen number
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Gets the number of device's screen installed.
//!                             5. Destructs the CWsScreenDevice object
//!                             6. Closes the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The number of screens of device is retrieved, the value is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0109-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0109-0001-Construct_command04  
        COMMAND                 scrdev            GetScreenNumber   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0109-0001-GetScreenNumber_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0109

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0110
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0110
//! @SYMAPI                     CWsScreenDevice::SetBackLight(TBool) const
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/24/2007
//! @SYMTestCaseDesc            Set back light off, then on.
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Turns backlight off
//!                             5. Turns backlight on
//!                             6. Destructs the CWsScreenDevice object
//!                             7. Closes the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic ocurred. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0110-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0110-0001-Construct_command04  
        COMMAND                 scrdev            SetBackLight  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0110-0001-SetBackLight_command05
        COMMAND                 scrdev            SetBackLight  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0110-0001-SetBackLight_command06
        COMMAND                 scrdev            ~   
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0110


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0146
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0146
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInPixels(CFont {ptr}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Kevin Zeng, Ray Liang
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Get a font first, then release font, get another font, no panic occurs when case end.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Creat a font.
//!                             3. Create a CWsScreenDevice attached to RWsSession.
//!                             4. Complete the construction.
//!                             5. Call GetNearestFontToDesignHeightInPixels() to get a font.
//!                             6. Call ReleaseFont() method.
//!                             7. Call GetNearestFontToDesignHeightInPixels() to get a font again.
//!                             8. Destruct the CWsScreenDevice object
//!                             9. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0146-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0146-0001-GetNearestFontToDesignHeightInPixels_command05      
        COMMAND                 scrdev            ReleaseFont                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0146-0001-ReleaseFont_command06
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0146-0001-GetNearestFontToDesignHeightInPixels_command07      
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0146


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0150
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0150
//! @SYMAPI                     CWsScreenDevice::FontHeightInPixels(TInt, TInt)
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the height of the specified font in pixels.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Complete the construction.
//!                             4. Call FontHeightInPixels() method with different parameter values.
//!                             5. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     FontHeightInPixels returns expected value.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0150-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0150-0001-FontHeightInPixels_command05
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0150-0001-FontHeightInPixels_command06
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0150-0001-FontHeightInPixels_command07
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0150-0001-FontHeightInPixels_command08
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0150

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0151
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0151
//! @SYMAPI                     CWsScreenDevice::::FontHeightInPixels(TInt, TInt)
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Negative test, using large numbers in the parameters.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Complete the construction.
//!                             4. Call FontHeightInPixels() method with large parameter values.
//!                             5. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     FontHeightInPixels returns 0 with no panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0151-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0151-0001-FontHeightInPixels_command05
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0151-0001-FontHeightInPixels_command06
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0151

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0153
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0153
//! @SYMAPI                     CWsScreenDevice::PaletteAttributes(TBool {ref}, TInt {ref})
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets the attributes of the device's palette.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Creat a font.
//!                             3. Create a CWsScreenDevice attached to RWsSession.
//!                             4. Complete the construction.
//!                             5. Call PaletteAttributes() method.
//!                             6. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     PaletteAttributes retrieves  expected values.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0153-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            PaletteAttributes         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0153-0001-PaletteAttributes_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0153

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0154
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0154
//! @SYMAPI                     CWsScreenDevice::SetCustomPalette(const CPalette {ptr})
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Sets the custom palette.
//!                             Gets the screen device's palette.
//!                             Support for palette will depend on the screen driver implementation, it's not supported in techview. 
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Creat a font.
//!                             3. Create a Palette.
//!                             3. Create a CWsScreenDevice attached to RWsSession.
//!                             4. Complete the construction.
//!                             5. Call SetCustomPalette() with the existing palette.
//!                             6. Call GetPalette() to get the palette.
//!                             7. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     SetCustomPalette returns KErrNone. GetPalette retrieves a palette as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CPalette          palette
        COMMAND                 palette           NewL                                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0154-0001-NewL_command01       
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0154-0001-new_command04       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            SetCustomPalette                      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0154-0001-SetCustomPalette_command06      
        COMMAND                 scrdev            GetPalette                            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0154-0001-GetPalette_command07
        COMMAND                 palette           ~        
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0154

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0156
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0156
//! @SYMAPI                     CWsScreenDevice::GetFontById(CFont {ptr}{ref}, TUid, const TAlgStyle {ref})
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Gets a font by its bitmap UID and check the font is got.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a TAlgStyle.
//!                             3. Create a CWsScreenDevice attached to RWsSession.
//!                             4. Complete the construction.
//!                             5. Call GetFontById() with the uid and algstyle to check the font got.
//!                             6. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. GetFontById returns KErrNone.
//!                             2. HeightInPixels returns expected value.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           TAlgStyle         algstyle
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 algstyle          new
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0156-0001-new_command04       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetFontById                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0156-0001-GetFontById_command07
        COMMAND                 font              HeightInPixels                        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0156-0001-HeightInPixels_command08
        COMMAND                 algstyle          ~
        COMMAND                 scrdev            ~
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0156

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0157
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0157
//! @SYMAPI                     CWsScreenDevice::GetFontById(CFont {ptr}{ref}, TUid, const TAlgStyle {ref})
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc            Negative test, using an error UID.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Cteaate a TAlgStyle.
//!                             3. Create a CWsScreenDevice attached to RWsSession.
//!                             4. Complete the construction.
//!                             5. Call GetFontById() with a algstyle and a error uid.
//!                             6. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetFontById returns a error.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           TAlgStyle         algstyle
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 algstyle          new
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0157-0001-new_command04       
        COMMAND                 scrdev            Construct
        COMMAND !Error=-1       scrdev            GetFontById                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0157-0001-GetFontById_command07
        COMMAND                 scrdev            ~        
        COMMAND                 algstyle          ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0157


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0158
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0158
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap {ptr})
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            12/10/2007
//! @SYMTestCaseDesc            Set up and draw a 100*100 rect on white screen, inside of the rect is red and border is black.
//!                             Craete a screen size bitmap.Copy the entire screen to the bitmap and check the bitmap's pixel.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle(100*100 size,filled with red, border is black).
//!                             7. Create a CFbsBitmap as the size of the screen.
//!                             8. Call CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap *) to copy the whole screen to bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle(inside is red, border is black and outside is white).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct
//!                                 2.1 The pixels (0,0) is color TRgb(0,0,0); The border is black.
//!                                 2.2 The pixels (99,99) is color TRgb(0,0,0); The border is black.
//!                                 2.3 The pixels (50,99) is color TRgb(0,0,0); The border is black.
//!                                 2.4 The pixels (99,50) is color TRgb(0,0,0); The border is black.
//!                                 2.5 The pixels (50,100) is color TRgb(255,255,255); Outside is white.
//!                                 2.6 The pixels (100,50) is color TRgb(255,255,255); Outside is white.
//!                                 2.7 The pixels (1,1) is color TRgb(255,0,0); Inside is red.
//!                                 2.8 The pixels (98,98) is color TRgb(255,0,0); Inside is red.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-CreateContext_command05
        CREATE_OBJECT           RWindowGroup      wingrp
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-Construct_command07
        CREATE_OBJECT           RWindow           win
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command28
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command29
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command30
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0158-0001-GetPixel_command31
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0158

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0159
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0159
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap {ptr}, const TRect {ref})
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            12/10/2007
//! @SYMTestCaseDesc            Set up and draw a 100*100 rect on white screen, inside of the rect is red and border is black.
//!                             Craete a 100*100 bitmap.Copy the 100*100 rect in the screen to the bitmap and check the bitmap's pixel.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle(100*100 size,filled with red, border is black).
//!                             7. Create a CFbsBitmap as the size of the screen.
//!                             8. Call CWsScreenDevice::CopyScreenToBitmap((const CFbsBitmap *aBitmap,const TRect &aRect) to copy a 100*100 rect to a 100*100 bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle(inside is red, border is black).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct
//!                                 2.1 The pixels (0,0) is color TRgb(0,0,0); The border is black.
//!                                 2.2 The pixels (99,99) is color TRgb(0,0,0); The border is black.
//!                                 2.3 The pixels (50,99) is color TRgb(0,0,0); The border is black.
//!                                 2.4 The pixels (99,50) is color TRgb(0,0,0); The border is black.
//!                                 2.5 The pixels (1,1) is color TRgb(255,0,0); Inside is red.
//!                                 2.6 The pixels (98,98) is color TRgb(255,0,0); Inside is red.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-CreateContext_command05
        CREATE_OBJECT           RWindowGroup      wingrp
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-Construct_command07
        CREATE_OBJECT           RWindow           win
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-GetPixel_command28
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0159-0001-GetPixel_command29
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0159

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0160
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0160
//! @SYMAPI                     CWsScreenDevice::Construct(TInt)
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Negative test, uses invalid input values
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction with aDefaultScreenNumber = 10000
//!                             4. Destruct the CWsScreenDevice object
//!                             5. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 65 panic received at Test Action 3.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0160-0001-new_command03       
        COMMAND                 scrdev            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0160-0001-Construct_command04         
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV  !PanicCode=65
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0160

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0161
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0161
//! @SYMAPI                     CWsScreenDevice::HorizontalTwipsToPixels(TInt)
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Uses big twips/0/small negative twips
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates three horizontal dimension in twips into pixels
//!                             4.1 input twips = 762000000, return 64000000 for emulator and 54635895 for H4.
//!                             4.2 input twips = 0, return 0.
//!                             4.3 input twips = -762000000, return -63999999 for emulator and -54635894 for H4.
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned pixels are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0161-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            HorizontalTwipsToPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0161-0001-HorizontalTwipsToPixels_command05
        COMMAND                 scrdev            HorizontalTwipsToPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0161-0001-HorizontalTwipsToPixels_command06
        COMMAND                 scrdev            HorizontalTwipsToPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0161-0001-HorizontalTwipsToPixels_command07
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0161

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0162
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0162
//! @SYMAPI                     CWsScreenDevice::VerticalTwipsToPixels(TInt)
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Uses big twips/0/small negative twips
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates three vertical dimension in twips into pixels
//!                             4.1 input twips = 285800000, return 24000000 for emulator and 22555738 for H4.
//!                             4.2 input twips = 0, return 0.
//!                             4.3 input twips = -285800000, return -23999999 for emulator and -22555737 for H4.
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned pixels are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0162-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            VerticalTwipsToPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0162-0001-VerticalTwipsToPixels_command05
        COMMAND                 scrdev            VerticalTwipsToPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0162-0001-VerticalTwipsToPixels_command06
        COMMAND                 scrdev            VerticalTwipsToPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0162-0001-VerticalTwipsToPixels_command07
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0162

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0163
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0163
//! @SYMAPI                     CWsScreenDevice::HorizontalPixelsToTwips(TInt)
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Uses big pixels/0/small negative pixels
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates three horizontal dimension in pixels into twips 
//!                             4.1 input pixel = 64000000, return 762000000 for emulator and 892600000 for H4.
//!                             4.2 input pixel = 0, return 0.
//!                             4.3 input pixel = -64000000, return -761999999 for emulator and -892599999 for H4.
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0163-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            HorizontalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0163-0001-HorizontalPixelsToTwips_command05
        COMMAND                 scrdev            HorizontalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0163-0001-HorizontalPixelsToTwips_command06
        COMMAND                 scrdev            HorizontalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0163-0001-HorizontalPixelsToTwips_command07
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0163

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0164
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0164
//! @SYMAPI                     CWsScreenDevice::VerticalPixelsToTwips(TInt)
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Uses big pixels/0/small negative pixels
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Translates three vertical dimension in pixels into twips 
//!                             4.1 input pixel = 24000000, return 285800000 for emulator and 304100000 for H4.
//!                             4.2 input pixel = 0, return 0.
//!                             4.3 input pixel = -24000000, return -285799999 for emulator and -304099999 for H4.
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0164-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            VerticalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0164-0001-VerticalPixelsToTwips_command05
        COMMAND                 scrdev            VerticalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0164-0001-VerticalPixelsToTwips_command06
        COMMAND                 scrdev            VerticalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0164-0001-VerticalPixelsToTwips_command07
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0164

//!START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0165
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0165
//! @SYMAPI                     CWsScreenDevice::CreateContext(CWindowGc{ptr}{ref})
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Negative test.
//!                             Create a CWsScreenDevice object neither attached to a RWsSession nor complete the construction, then call the CreateContext with it.
//! @SYMTestActions             1.New a CWsScreenDevice without attached to a RWsSession
//!                             2.Create a CWindowGc within the CWsScreenDevice by CreateContext
//!                             3.Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     KERN-EXEC 3 panic received at Test Action 2.
//! @SYMTestType                CIT
//!    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
//!        CREATE_OBJECT           CWsScreenDevice   scrdev
//!        CREATE_OBJECT           CWindowGc         wgc
//!        COMMAND                 scrdev            new
//!        COMMAND                 scrdev            CreateContext GRAPHICS-WSERV-WsScreenDevice-PublicApi-0165-0001-CreateContext_command02
//!        COMMAND                 wgc               ~        
//!        COMMAND                 scrdev            ~        
//!    END_TEST_BLOCK              !PanicString=KERN-EXEC  !PanicCode=3
//!    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
//!END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0165

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0180
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0180
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Negative test, gets an existent font name but too big/too small/negative size
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Get font in twips for DejaVu Sans Mono, 1000000 twips font.
//!                             5. Check the returned font is expected 
//!                             6. Get font in twips for DejaVu Sans Mono, 0 twips font.
//!                             7. Check the returned font is expected 
//!                             8. Get font in twips for DejaVu Sans Mono, -1 twips font.
//!                             9. Check the returned font is expected 
//!                             10. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The function GetNearestFontToDesignHeightInTwips() call returns KErrNone and no panic.
//!                             2. The returned font is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0180-0001-new_command03       
        COMMAND                 scrdev            Construct    
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0180-0001-GetNearestFontToDesignHeightInTwips_command05
        COMMAND                 font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0180-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0180-0001-GetNearestFontToDesignHeightInTwips_command07
        COMMAND                 font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0180-0001-FontSpecInTwips_command08              
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0180-0001-GetNearestFontToDesignHeightInTwips_command09
        COMMAND                 font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0180-0001-FontSpecInTwips_command10              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK   
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0180

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0181
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0181
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/03/2008
//! @SYMTestCaseDesc            Negative test, try to get a font by an empty font name.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction. 
//!                             4. Get the font in twips for "" (empty name), 50 twips font.
//!                             5. Check the returned font is expected 
//!                             6. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The function GetNearestFontToDesignHeightInTwips() call returns KErrNone and no panic.
//!                             2. The returned font is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev  
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0181-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0181-0001-GetNearestFontToDesignHeightInTwips_command05
        COMMAND                 font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0181-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close        
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0181

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            1. Try to get a font before adding it to the typeface.
//!                             2. Add the font and try to get it, verify the font is as expected.
//!                             3. Remove the font and try to get it again.
//! @SYMTestActions             1. Create and connects a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Try to get a non-exist font "Acb14" and check it.
//!                             5. Add the "Acb14" font file to the device's typeface store.
//!                             6. Try to get the "Acb14" font and check the returned font.
//!                             7. Remove the font file from device's typeface store
//!                             8. Try to get the "Acb14" font again and check the returned font.
//!                             9. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The FontSpecInTwips() call at Test Action 4 should not return the font name "Acb14".
//!                             2. The FontSepcInTwips() call at Test Action 6 should not return the font name "Acb14" because wserv font system cached the first get.
//!                             3. The FontSpecInTwips() call at Test Action 8 should not return the font name "Acb14" .
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev 
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-new_command03       
        COMMAND                 scrdev            Construct    
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-GetNearestFontToDesignHeightInTwips_command05
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-FontSpecInTwips_command06
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-ReleaseFont_command07
        COMMAND                 scrdev            AddFile            GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-AddFile_command08
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-GetNearestFontToDesignHeightInTwips_command09
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-FontSpecInTwips_command10
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-ReleaseFont_command11
        COMMAND                 scrdev            RemoveFile         GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-RemoveFile_command12
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-GetNearestFontToDesignHeightInTwips_command13
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-FontSpecInTwips_command14
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182-0001-ReleaseFont_command15
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close      
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0182

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref}, TInt)
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            Negative test, gets an existent font but too big/too small/negative size.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Get the font for DejaVu Sans Mono, 1000000 twips font, specifying max height = 100.
//!                             5. Check the returned font is as expected.
//!                             6. Get the font for DejaVu Sans Mono, 0 twips font, specifying max height=100.
//!                             7. Check the returned font is as expected.
//!                             8. Get the font for DejaVu Sans Mono, -1 twips font, specifying max height=100.
//!                             9. Check the returned font is as expected.
//!                             10. Get the font for DejaVu Sans Mono, 72 twips font, specifying max height = 1000000.
//!                             11. Check KErrTooBig error is returned.
//!                             12. Get the font for DejaVu Sans Mono, 72 twips font, specifying max height = 0.
//!                             13. Check the returned font is as expected.
//!                             14. Get the font for DejaVu Sans Mono, 72 twips font, specifying max height = -1.
//!                             15. Check the returned font is as expected.
//!                             16. Get the font for DejaVu Sans Mono, 10000 twips font, specifying max height = -1.
//!                             17. Check the returned font is as expected.
//!                             18. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The GetNearestFontToMaxHeightInTwips() call at Test Action 7 returns KErrTooBig (Error=-40) and no panic.
//!                             2. The Other GetNearestFontToMaxHeightInTwips() calls return KErrNone and no panic.
//!                             3. The returned font is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-GetNearestFontToMaxHeightInTwips_command05
        COMMAND                 font              FontSpecInTwips                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0183-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-ReleaseFont_command07     
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-GetNearestFontToMaxHeightInTwips_command08
        COMMAND                 font              FontSpecInTwips                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0183-0001-FontSpecInTwips_command09              
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-ReleaseFont_command10  
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-GetNearestFontToMaxHeightInTwips_command11
        COMMAND                 font              FontSpecInTwips                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0183-0001-FontSpecInTwips_command12              
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-ReleaseFont_command13
        COMMAND   !Error=-40    scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-GetNearestFontToMaxHeightInTwips_command14
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-ReleaseFont_command15
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-GetNearestFontToMaxHeightInTwips_command16
        COMMAND                 font              FontSpecInTwips                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0183-0001-FontSpecInTwips_command17            
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-ReleaseFont_command18
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-GetNearestFontToMaxHeightInTwips_command19
        COMMAND                 font              FontSpecInTwips                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0183-0001-FontSpecInTwips_command20            
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-ReleaseFont_command21
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-GetNearestFontToMaxHeightInTwips_command22
        COMMAND                 font              FontSpecInTwips                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0183-0001-FontSpecInTwips_command23              
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183-0001-ReleaseFont_command24
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK   
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0183

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0184
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0184
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref}, TInt)
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            Negative test, try to get a font by an empty font name.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Get the font in twips for "" (empty name), 50 twips font, 60 max font.
//!                             5. Check the returned font is as expected.
//!                             6. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The function GetNearestFontToMaxHeightInTwips() call returns KErrNone and no panic.
//!                             2. The returned font is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev  
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0184-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0184-0001-GetNearestFontToMaxHeightInTwips_command05
        COMMAND                 font              FontSpecInTwips                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0184-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0184-0001-ReleaseFont_command07
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close        
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0184

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref}, TInt)
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/08/2008
//! @SYMTestCaseDesc            1. Try to get a font before adding it to the typeface.
//!                             2. Add the font and try to get it, verify the font is as expected.
//!                             3. Remove the font and try to get it again.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to a RWsSession
//!                             3. Complete the construction
//!                             4. Get a non exist font in twips and then check it.
//!                             5. Add a font file to the device's typeface store.
//!                             6. Try to get the "Acb14" font and check the returned font.
//!                             7. Remove the font file from device's typeface store
//!                             8. Get the removed font again and check it.
//!                             9. Destruct and close all ojects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The FontSpecInTwips() call at Test Action 4 should not return the font "Acb14".
//!                             2. The FontSepcInTwips() call at Test Action 6 should not return the font name "Acb14" because wserv font system cached the first get.
//!                             3. The FontSpecInTwips() call at Test Action 8 should not return the font "Acb14".
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev 
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-GetNearestFontToMaxHeightInTwips_command05
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-FontSpecInTwips_command06
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-ReleaseFont_command07
        COMMAND                 scrdev            AddFile            GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-AddFile_command08
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-GetNearestFontToMaxHeightInTwips_command09
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-FontSpecInTwips_command10
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-ReleaseFont_command11
        COMMAND                 scrdev            RemoveFile         GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-RemoveFile_command12
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-GetNearestFontToMaxHeightInTwips_command13
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-FontSpecInTwips_command14
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185-0001-ReleaseFont_command15
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close      
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0185


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            Add the font and try to get it, verify the font is as expected.                       
//! @SYMTestActions             1. Create and connects a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Add the "Acb14" font file to the device's typeface store.
//!                             5. Try to get the "Acb14" font and check the returned font.
//!                             6. Remove the font file from device's typeface store
//!                             7. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     The FontSpecInTwips() call should return the font name "Acb14".
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev 
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186-0001-new_command03       
        COMMAND                 scrdev            Construct    
        COMMAND                 scrdev            AddFile            GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186-0001-AddFile_command05
        COMMAND                 scrdev            GetNearestFontToDesignHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186-0001-GetNearestFontToDesignHeightInTwips_command06
        COMMAND                 font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186-0001-FontSpecInTwips_command07
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186-0001-ReleaseFont_command08
        COMMAND                 scrdev            RemoveFile         GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186-0001-RemoveFile_command09
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close      
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0186

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInTwips(CFont {prt}{ref}, const TFontSpec {ref}, TInt)
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/08/2008
//! @SYMTestCaseDesc            Add the font and try to get it, verify the font is as expected. 
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to a RWsSession
//!                             3. Complete the construction
//!                             4. Add a font file to the device's typeface store.
//!                             5. Check the expected font is added successfully.
//!                             6. Remove the font file from device's typeface store
//!                             7. Destruct and close all ojects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     The FontSpecInTwips() call should return the font "Acb14".                       
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev 
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            AddFile            GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187-0001-AddFile_command05
        COMMAND                 scrdev            GetNearestFontToMaxHeightInTwips GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187-0001-GetNearestFontToMaxHeightInTwips_command06
        COMMAND                 font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187-0001-FontSpecInTwips_command07
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187-0001-ReleaseFont_command08
        COMMAND                 scrdev            RemoveFile         GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187-0001-RemoveFile_command09
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close      
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0187


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0192
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0192
//! @SYMAPI                     CWsScreenDevice::TypefaceSupport(TTypefaceSupport{ref}, TInt)
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/3/2008
//! @SYMTestCaseDesc            Negative test, uses -1 as faceindex parameter.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get typeface information for -1 as index number 
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     FBSCLI 26 panic received at Test Action 4. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0192-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            TypefaceSupport   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0192-0001-TypefaceSupport_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    !PanicString=FBSCLI   !PanicCode=26
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0192

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0194
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0194
//! @SYMAPI                     CWsScreenDevice::FontHeightInTwips(TInt, TInt) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/3/2007
//! @SYMTestCaseDesc            Negative test, uses (0,-1),(10000,10000) and (0,10000) as the parameters.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the height in twips of the specified font using FontHeightInTwips(), input is (0,-1).
//!                             4. Get the height in twips of the specified font using FontHeightInTwips(), input is (10000,10000).
//!                             4. Get the height in twips of the specified font using FontHeightInTwips(), input is (0,10000).
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic and the FontHeightInTwips() returns 0.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0194-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            FontHeightInTwips     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0194-0001-FontHeightInTwips_command05              
        COMMAND                 scrdev            FontHeightInTwips     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0194-0001-FontHeightInTwips_command06              
        COMMAND                 scrdev            FontHeightInTwips     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0194-0001-FontHeightInTwips_command07              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0194

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0195
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0195
//! @SYMAPI                     CWsScreenDevice::FontHeightInTwips(TInt, TInt) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/3/2007
//! @SYMTestCaseDesc            Negative test, uses (-1,0) as the parameters.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the height in twips of the specified font using FontHeightInTwips(), input is (-1,0)
//!                             5. Destruct the CWsScreenDevice object
//!                             6. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     FBSCLI 26 panic received at Test Action 4. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0195-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            FontHeightInTwips     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0195-0001-FontHeightInTwips_command05              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    !PanicString=FBSCLI   !PanicCode=26
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0195

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0200
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0200
//! @SYMAPI                     CWsScreenDevice::GetPixel(TRgb {ref}, const TPoint {ref})
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            28/12/2007
//! @SYMTestCaseDesc            Test for negative x- and y-coordinate/too big x- and y-coordinate.
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Gets pixel at point(-1, 0) and check the RGB color is white.
//!                             5. Gets pixel at point(0, -1) and check the RGB color is white.
//!                             6. Gets pixel at point(-1, -1) and check the RGB color is white.
//!                             7. Gets pixel at point(10000, 0) and check the RGB color is white.
//!                             8. Gets pixel at point(0, 10000) and check the RGB color is white.
//!                             9. Gets pixel at point(10000, 10000) and check the RGB color is white.
//!                             10. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetPixel doesn't cause panic
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT   RWsSession          ws
        CREATE_OBJECT   CWsScreenDevice     scrdev
        COMMAND         ws                  new
        COMMAND         ws                  Connect
        COMMAND         scrdev              new                      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0200-0001-new_command03
        COMMAND         scrdev              Construct
        COMMAND         scrdev              GetPixel                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0200-0001-GetPixel_command05
        COMMAND         scrdev              GetPixel                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0200-0001-GetPixel_command06
        COMMAND         scrdev              GetPixel                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0200-0001-GetPixel_command07
        COMMAND         scrdev              GetPixel                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0200-0001-GetPixel_command08
        COMMAND         scrdev              GetPixel                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0200-0001-GetPixel_command09
        COMMAND         scrdev              GetPixel                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0200-0001-GetPixel_command10
        COMMAND         scrdev              ~
        COMMAND         ws                  Close
   END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0200

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0201
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0201
//! @SYMAPI                     CWsScreenDevice::AddFile(const TDesC {ref}, TInt)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Negative test, adds non-existent file.
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Completes the construction.
//!                             4. Adds a font file which does not exist to the device's typeface store.
//!                             5. Destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The function AddFile() call returns error code -1.
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT      RWsSession         ws
        CREATE_OBJECT      CWsScreenDevice    scrdev
        COMMAND            ws                 new
        COMMAND            ws                 Connect
        COMMAND            scrdev             new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0201-0001-new_command03
        COMMAND            scrdev             Construct     
        COMMAND !Error=-1  scrdev             AddFile       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0201-0001-AddFile_command05
        COMMAND            scrdev             ~
        COMMAND            ws                 Close
   END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0201

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0202
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0202
//! @SYMAPI                     CWsScreenDevice::AddFile(const TDesC {ref}, TInt)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Negative test, adds invalid symbian font file.
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Completes the construction.
//!                             4. Adds a font file which is invalid to the device's typeface store.
//!                             5. Destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The function AddFile() call returns error code -5.
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT      RWsSession         ws
        CREATE_OBJECT      CWsScreenDevice    scrdev
        COMMAND            ws                 new
        COMMAND            ws                 Connect
        COMMAND            scrdev             new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0202-0001-new_command03
        COMMAND            scrdev             Construct     
        COMMAND !Error=-5  scrdev             AddFile       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0202-0001-AddFile_command05
        COMMAND            scrdev             ~
        COMMAND            ws                 Close
   END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0202

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0203
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0203
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInPixels(CFont {ptr}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Negative test, gets an existent font name but negative/too big/too small size
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Gets font in pixels for font DejaVu Sans Mono whose height is -1.
//!                             5. Check the returned font is as expected. 
//!                             6. Gets font in pixels for font DejaVu Sans Mono whose height is 10000.
//!                             7. Check the returned font is as expected. 
//!                             8. Gets font in pixels for font DejaVu Sans Mono whose height is 0.
//!                             9. Check the returned font is as expected. 
//!                             10. Destructs the CWsScreenDevice object.
//!                             11. Closes the CWsScreenDevice object.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. The function GetNearestFontToDesignHeightInPixels() call returns KErrNone and no panic.
//!                             2. The returned font is as expected.
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT         RWsSession        ws
        CREATE_OBJECT         CWsScreenDevice   scrdev
        CREATE_OBJECT         CFbsFont          font
        COMMAND               ws                new
        COMMAND               ws                Connect
        COMMAND               scrdev            new         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0203-0001-new_command03
        COMMAND               scrdev            Construct   
        COMMAND               scrdev            GetNearestFontToDesignHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0203-0001-GetNearestFontToDesignHeightInPixels_command05
        COMMAND               font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0203-0001-FontSpecInTwips_command06              
        COMMAND               scrdev            GetNearestFontToDesignHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0203-0001-GetNearestFontToDesignHeightInPixels_command07
        COMMAND               font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0203-0001-FontSpecInTwips_command08              
        COMMAND               scrdev            GetNearestFontToDesignHeightInPixels  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0203-0001-GetNearestFontToDesignHeightInPixels_command09
        COMMAND               font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0203-0001-FontSpecInTwips_command10              
        COMMAND               scrdev            ~
        COMMAND               ws                Close
   END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0203

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0204
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0204
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInPixels(CFont {prt}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            Negative test, gets an empty font name
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Get the font in pixels for "" (empty name), 50 pixels font.
//!                             5. Check the returned font is as expected.
//!                             6. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The function GetNearestFontToDesignHeightInPixels() call returns KErrNone and no panic.
//!                             2. The returned font is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev  
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0204-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0204-0001-GetNearestFontToDesignHeightInPixels_command05
        COMMAND                 font              FontSpecInTwips                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0204-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close        
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0204

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0206
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0206
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToDesignHeightInPixels(CFont {ptr}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc             1. Try to get a font before adding it to the typeface, 
//!                              2. Add the font and try to get it, verify the font is as expected
//!                              3. Remove the font and try to get it again
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Try to get a font before adding it to the typeface.
//!                             5. Add the font and try to get it, verify the font is as expected.
//!                             6. Remove the font and try to get it again
//!                             7. Destructs the CWsScreenDevice object
//!                             8. Closes the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. The function GetNearestFontToDesignHeightInPixels() calls return KErrNone and no panic.
//!                             2. The first FontSpecInTwips() call should not return the font name "Acb14".
//!                             3. The second FontSepcInTwips() call returns font name "Acb14"
//!                             4. The third FontSpecInTwips() call should not return the font name "Acb14" .
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-GetNearestFontToDesignHeightInPixels_command05
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-FontSpecInTwips_command06
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-ReleaseFont_command07
        COMMAND                 scrdev            AddFile            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-AddFile_command08
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-GetNearestFontToDesignHeightInPixels_command09
        COMMAND                 font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-FontSpecInTwips_command10
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-ReleaseFont_command11
        COMMAND                 scrdev            RemoveFile         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-RemoveFile_command12
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-GetNearestFontToDesignHeightInPixels_command13
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-FontSpecInTwips_command14
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0206-0001-ReleaseFont_command15
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0206

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInPixels(CFont {prt}{ref}, const TFontSpec {ref}, TInt)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            Negative test, gets an existent font but too small/negative size.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Get the font for DejaVu Sans Mono, 1000000 pixels font, specifying max size=1000.
//!                             5. Check the returned font is as expected.
//!                             6. Get the font for DejaVu Sans Mono, 0 pixels font, specifying max size=1000.
//!                             7. Check the returned font is as expected.
//!                             8. Get the font for DejaVu Sans Mono, -1 pixels font, specifying max size=1000.
//!                             9. Check the returned font is as expected.
//!                             10. Get the font for DejaVu Sans Mono, 1000 pixels font, specifying max size = 1000000.
//!                             11. Check KErrTooBig error is returned.
//!                             12. Get the font for DejaVu Sans Mono, 1000 pixels font, specifying max size = 0.
//!                             13. Check the returned font is as expected.
//!                             14. Get the font for DejaVu Sans Mono, 1000 pixels font, specifying max size = -1(halt the emulator, defect).
//!                             15. Check the returned font is as expected.
//!                             16. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The GetNearestFontToMaxHeightInTwips() call at Test Action 10 returns KErrTooBig (Error=-40) and no panic.
//!                             2. The Other GetNearestFontToMaxHeightInTwips() calls return KErrNone and no panic.
//!                             3. The returned font is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-GetNearestFontToMaxHeightInPixels_command05      
        COMMAND                 font              FontSpecInTwips                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0207-0001-FontSpecInTwips_command06         
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-ReleaseFont_command07
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-GetNearestFontToMaxHeightInPixels_command08
        COMMAND                 font              FontSpecInTwips                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0207-0001-FontSpecInTwips_command09        
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-ReleaseFont_command10
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-GetNearestFontToMaxHeightInPixels_command11
        COMMAND                 font              FontSpecInTwips                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0207-0001-FontSpecInTwips_command12         
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-ReleaseFont_command13
        COMMAND   !Error=-40    scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-GetNearestFontToMaxHeightInPixels_command14
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-ReleaseFont_command15
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-GetNearestFontToMaxHeightInPixels_command16
        COMMAND                 font              FontSpecInTwips                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0207-0001-FontSpecInTwips_command17         
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-ReleaseFont_command18
//!        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-GetNearestFontToMaxHeightInPixels_command19
//!        COMMAND                 font              FontSpecInTwips                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0207-0001-FontSpecInTwips_command20         
//!        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207-0001-ReleaseFont_command21
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK   
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0207

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0208
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0208
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInPixels(CFont {prt}{ref}, const TFontSpec {ref}, TInt)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            Negative test, try to get a font by an empty font name.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to a RWsSession.
//!                             3. Complete the construction.
//!                             4. Get the font in pixels for "" (empty name), 50 pixels font, 60 max font.
//!                             5. Check the returned font is as expected.
//!                             6. Destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Low
//! @SYMTestExpectedResults     1. The function GetNearestFontToMaxHeightInPixels() call returns KErrNone and no panic.
//!                             2. The returned font is as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev  
        CREATE_OBJECT           CFbsFont          font        
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0208-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0208-0001-GetNearestFontToMaxHeightInPixels_command05
        COMMAND                 font              FontSpecInTwips                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0208-0001-FontSpecInTwips_command06              
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close        
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0208

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0210
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0210
//! @SYMAPI                     CWsScreenDevice::GetNearestFontToMaxHeightInPixels(CFont {ptr}{ref}, const TFontSpec {ref})
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            11/23/2007
//! @SYMTestCaseDesc             1. Try to get a font before adding it to the typeface, 
//!                              2. Add the font and try to get it, verify the font is as expected
//!                              3. Remove the font and try to get it again
//! @SYMTestActions             1. Creates and connects a RWsSession
//!                             2. Creates a CWsScreenDevice attached to a RWsSession
//!                             3. Completes the construction
//!                             4. Creates a CFont object
//!                             5. Try to get a font before adding it to the typeface.
//!                             6. Add the font and try to get it, verify the font is as expected.
//!                             7. Remove the font and try to get it again.
//!                             8. Destructs the CWsScreenDevice object
//!                             9. Closes the CWsScreenDevice object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. The function GetNearestFontToMaxHeightInPixels() calls return KErrNone and no panic.
//!                             2. The first FontSpecInTwips() call should not return the font name "Acb14".
//!                             3. The second FontSepcInTwips() call returns font name "Acb14"
//!                             4. The third FontSpecInTwips() call should not return the font name "Acb14" .
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-new_command03       
        COMMAND                 scrdev            Construct     
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-GetNearestFontToMaxHeightInPixels_command05
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-FontSpecInTwips_command06
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-ReleaseFont_command07
        COMMAND                 scrdev            AddFile            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-AddFile_command08
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-GetNearestFontToMaxHeightInPixels_command09
        COMMAND                 font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-FontSpecInTwips_command10
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-ReleaseFont_command11
        COMMAND                 scrdev            RemoveFile         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-RemoveFile_command12
        COMMAND                 scrdev            GetNearestFontToMaxHeightInPixels GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-GetNearestFontToMaxHeightInPixels_command13
        COMMAND   !Error=-1     font              FontSpecInTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-FontSpecInTwips_command14
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0210-0001-ReleaseFont_command15
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0210

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0211
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0211
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Negative test, uses a zero-length buffer.
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//!                             12. Deactives RWindow, destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 37 panic received at Test Action 11. 
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT   RWsSession          ws
        CREATE_OBJECT   CWsScreenDevice     scrdev
        CREATE_OBJECT   CWindowGc           wgc
        CREATE_OBJECT   RWindowGroup        wingrp
        CREATE_OBJECT   RWindow             win            
        COMMAND         ws                  new
        COMMAND         ws                  Connect        
        COMMAND         scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-new_command03
        COMMAND         scrdev              Construct
        COMMAND         scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-CreateContext_command05
        COMMAND         wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-new_command06
        COMMAND         wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-Construct_command07
        COMMAND         win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-new_command08
        COMMAND         win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-Construct_command09
        COMMAND         win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-SetRequiredDisplayMode_command10
        COMMAND         win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-SetBackgroundColor_command11
        COMMAND         win                 Activate
        COMMAND         ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-SetAutoFlush_command13
        COMMAND         wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-Activate_command14
        COMMAND         win                 BeginRedraw
        COMMAND         win                 EndRedraw
        COMMAND         scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0211-0001-GetScanLine_command17
        COMMAND         wgc                 Deactivate
        COMMAND         win                 Close
        COMMAND         wingrp              Close
        COMMAND         wgc                 ~
        COMMAND         scrdev              ~
        COMMAND         ws                  Close
   END_TEST_BLOCK !PanicString=WSERV !PanicCode=80
   RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0211

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0214
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0214
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Test for a zero-length scanline.
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic received at Test Action 11. 
//!                            
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession          ws
        CREATE_OBJECT           CWsScreenDevice     scrdev
        CREATE_OBJECT           CWindowGc           wgc
        CREATE_OBJECT           RWindowGroup        wingrp
        CREATE_OBJECT           RWindow             win            
        COMMAND                 ws                  new
        COMMAND                 ws                  Connect        
        COMMAND                 scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-new_command03
        COMMAND                 scrdev              Construct
        COMMAND                 scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-CreateContext_command05
        COMMAND                 wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-new_command06
        COMMAND                 wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-Construct_command07
        COMMAND                 win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-new_command08
        COMMAND                 win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-Construct_command09
        COMMAND                 win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-SetRequiredDisplayMode_command10
        COMMAND                 win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-SetBackgroundColor_command11
        COMMAND                 win                 Activate
        COMMAND                 ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-SetAutoFlush_command13
        COMMAND                 wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-Activate_command14
        COMMAND                 win                 BeginRedraw
        COMMAND                 win                 EndRedraw
        COMMAND                 scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0214-0001-GetScanLine_command17

   END_TEST_BLOCK 				
   RUN_TEST_STEP				100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0214

//! START_TESTCASE              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0215
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0215
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Test for a negative-length scanline.
//!                             This case is used for regression test.
//!                             The function GetScanLine() call causes FAULT: KERN 0x00000004 (4), the emulator is forced to exit.(Defect)
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//!                             12. Deactives RWindow, destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. USER 23 panic received at Test Action 11. 
//! @SYMTestType                CIT
//!   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
//!        CREATE_OBJECT        RWsSession          ws
//!        CREATE_OBJECT        CWsScreenDevice     scrdev
//!        CREATE_OBJECT        CWindowGc           wgc
//!        CREATE_OBJECT        RWindowGroup        wingrp
//!        CREATE_OBJECT        RWindow             win            
//!        COMMAND              ws                  new
//!        COMMAND              ws                  Connect        
//!        COMMAND              scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-new_command03
//!        COMMAND              scrdev              Construct
//!        COMMAND              scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-CreateContext_command05
//!        COMMAND              wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-new_command06
//!        COMMAND              wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-Construct_command07
//!        COMMAND              win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-new_command08
//!        COMMAND              win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-Construct_command09
//!        COMMAND              win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-SetRequiredDisplayMode_command10
//!        COMMAND              win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-SetBackgroundColor_command11
//!        COMMAND              win                 Activate
//!        COMMAND              ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-SetAutoFlush_command13
//!        COMMAND              wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-Activate_command14
//!        COMMAND              win                 BeginRedraw
//!        COMMAND              win                 EndRedraw
//!        COMMAND              scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0215-0001-GetScanLine_command17
//!        COMMAND              wgc                 Deactivate
//!        COMMAND              win                 Close
//!        COMMAND              wingrp              Close
//!        COMMAND              wgc                 ~
//!        COMMAND              scrdev              ~
//!        COMMAND              ws                  Close
//!   END_TEST_BLOCK !PanicString=USER !PanicCode=23
//! END_TESTCASE                GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0215

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0216
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0216
//! @SYMAPI                     CWsScreenDevice::FontHeightInPixels(TInt, TInt) const
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            07/01/2008
//! @SYMTestCaseDesc            Negative test, gets the height of the specified font by specifying a negative typeface index number.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Complete the construction.
//!                             4. Gets font height with typeface index = -1 and height index = 0
//!                             5. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     FBSCLI 26 panic received at Test Action 4. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0216-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0216-0001-FontHeightInPixels_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close           
    END_TEST_BLOCK              !PanicString=FBSCLI !PanicCode=26
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0216

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0217
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0217
//! @SYMAPI                     CWsScreenDevice::FontHeightInPixels(TInt, TInt) const
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            07/01/2008
//! @SYMTestCaseDesc            Negative test, gets the height of the specified font by specifying a negative font height index number.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Complete the construction.
//!                             4. Gets font height with typeface index = 0 and height index = -1
//!                             5. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The FontHeightInPixels call doesn't cause panic
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0217-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0217-0001-FontHeightInPixels_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close           
    END_TEST_BLOCK              
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0217

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0218
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0218
//! @SYMAPI                     CWsScreenDevice::FontHeightInPixels(TInt, TInt) const
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            07/01/2008
//! @SYMTestCaseDesc            Negative test, gets the height of the specified font by specifying large typeface index and font height index numbers.
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Complete the construction.
//!                             4. Gets font height with typeface index = 10000 and height index = 10000
//!                             5. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The FontHeightInPixels call doesn't cause panic
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0218-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            FontHeightInPixels        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0218-0001-FontHeightInPixels_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close           
    END_TEST_BLOCK              
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0218

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0219
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0219
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Test for a 99999-length scanline with starting point (0, 0).
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//!                             12. Deactives RWindow, destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 37 panic received at Test Action 11. 
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession          ws
        CREATE_OBJECT           CWsScreenDevice     scrdev
        CREATE_OBJECT           CWindowGc           wgc
        CREATE_OBJECT           RWindowGroup        wingrp
        CREATE_OBJECT           RWindow             win            
        COMMAND                 ws                  new
        COMMAND                 ws                  Connect        
        COMMAND                 scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-new_command03
        COMMAND                 scrdev              Construct
        COMMAND                 scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-CreateContext_command05
        COMMAND                 wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-new_command06
        COMMAND                 wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-Construct_command07
        COMMAND                 win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-new_command08
        COMMAND                 win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-Construct_command09
        COMMAND                 win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-SetRequiredDisplayMode_command10
        COMMAND                 win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-SetBackgroundColor_command11
        COMMAND                 win                 Activate
        COMMAND                 ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-SetAutoFlush_command13
        COMMAND                 wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-Activate_command14
        COMMAND                 win                 BeginRedraw
        COMMAND                 win                 EndRedraw
        COMMAND                 scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0219-0001-GetScanLine_command17
        COMMAND                 wgc                 Deactivate
        COMMAND                 win                 Close
        COMMAND                 wingrp              Close
        COMMAND                 wgc                 ~
        COMMAND                 scrdev              ~
        COMMAND                 ws                  Close
   END_TEST_BLOCK !PanicString=WSERV    !PanicCode=80
   RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0219

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0220
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0220
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Test for a 10-length scanline with negative starting point (-1, -1).
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//!                             12. Deactives RWindow, destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. GetScanLine doesn't cause panic.
//!                             2. The length of the scanline buffer is as expected. The scanline data in the buffer is as expected.
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession          ws
        CREATE_OBJECT           CWsScreenDevice     scrdev
        CREATE_OBJECT           CWindowGc           wgc
        CREATE_OBJECT           RWindowGroup        wingrp
        CREATE_OBJECT           RWindow             win            
        COMMAND                 ws                  new
        COMMAND                 ws                  Connect        
        COMMAND                 scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-new_command03
        COMMAND                 scrdev              Construct
        COMMAND                 scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-CreateContext_command05
        COMMAND                 wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-new_command06
        COMMAND                 wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-Construct_command07
        COMMAND                 win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-new_command08
        COMMAND                 win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-Construct_command09
        COMMAND                 win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-SetRequiredDisplayMode_command10
        COMMAND                 win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-SetBackgroundColor_command11
        COMMAND                 win                 Activate
        COMMAND                 ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-SetAutoFlush_command13
        COMMAND                 wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-Activate_command14
        COMMAND                 win                 BeginRedraw
        COMMAND                 win                 EndRedraw
        COMMAND                 scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0220-0001-GetScanLine_command17
        COMMAND                 wgc                 Deactivate
        COMMAND                 win                 Close
        COMMAND                 wingrp              Close
        COMMAND                 wgc                 ~
        COMMAND                 scrdev              ~
        COMMAND                 ws                  Close
   END_TEST_BLOCK 
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0220

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0221
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0221
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Test for a 10-length scanline with starting point (10000, 10000).
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//!                             12. Deactives RWindow, destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetScanLine doesn't cause panic.
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession          ws
        CREATE_OBJECT           CWsScreenDevice     scrdev
        CREATE_OBJECT           CWindowGc           wgc
        CREATE_OBJECT           RWindowGroup        wingrp
        CREATE_OBJECT           RWindow             win            
        COMMAND                 ws                  new
        COMMAND                 ws                  Connect        
        COMMAND                 scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-new_command03
        COMMAND                 scrdev              Construct
        COMMAND                 scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-CreateContext_command05
        COMMAND                 wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-new_command06
        COMMAND                 wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-Construct_command07
        COMMAND                 win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-new_command08
        COMMAND                 win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-Construct_command09
        COMMAND                 win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-SetRequiredDisplayMode_command10
        COMMAND                 win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-SetBackgroundColor_command11
        COMMAND                 win                 Activate
        COMMAND                 ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-SetAutoFlush_command13
        COMMAND                 wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-Activate_command14
        COMMAND                 win                 BeginRedraw
        COMMAND                 win                 EndRedraw
        COMMAND                 scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0221-0001-GetScanLine_command17
        COMMAND                 wgc                 Deactivate
        COMMAND                 win                 Close
        COMMAND                 wingrp              Close
        COMMAND                 wgc                 ~
        COMMAND                 scrdev              ~
        COMMAND                 ws                  Close
   END_TEST_BLOCK 
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0221

//! START_TESTCASE              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0222
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0222
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Test for a 10-length scanline with starting point (0, 0). 
//!                             Sets the display mode to -1 within the GetScanLine call.
//!                             This case is used for regression test.
//!                             The function GetScanLine() call causes FAULT: KERN 0x00000004 (4), the emulator is forced to exit.(Defect)
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//!                             12. Deactives RWindow, destructs and closes all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. USER 23 panic received at Test Action 11. 
//!                             2. The length of the scanline buffer is as expected. The scanline data in the buffer is as expected.
//! @SYMTestType                CIT
//!   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
//!        CREATE_OBJECT        RWsSession          ws
//!        CREATE_OBJECT        CWsScreenDevice     scrdev
//!        CREATE_OBJECT        CWindowGc           wgc
//!        CREATE_OBJECT        RWindowGroup        wingrp
//!        CREATE_OBJECT        RWindow             win            
//!        COMMAND              ws                  new
//!        COMMAND              ws                  Connect        
//!        COMMAND              scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-new_command03
//!        COMMAND              scrdev              Construct
//!        COMMAND              scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-CreateContext_command05
//!        COMMAND              wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-new_command06
//!        COMMAND              wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-Construct_command07
//!        COMMAND              win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-new_command08
//!        COMMAND              win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-Construct_command09
//!        COMMAND              win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-SetRequiredDisplayMode_command10
//!        COMMAND              win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-SetBackgroundColor_command11
//!        COMMAND              win                 Activate
//!        COMMAND              ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-SetAutoFlush_command13
//!        COMMAND              wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-Activate_command14
//!        COMMAND              win                 BeginRedraw
//!        COMMAND              win                 EndRedraw
//!        COMMAND              scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0222-0001-GetScanLine_command17
//!        COMMAND              wgc                 Deactivate
//!        COMMAND              win                 Close
//!        COMMAND              wingrp              Close
//!        COMMAND              wgc                 ~
//!        COMMAND              scrdev              ~
//!        COMMAND              ws                  Close
//!   END_TEST_BLOCK !PanicString=USER !PanicCode=23
//! END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0222

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0223
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0223
//! @SYMAPI                     CWsScreenDevice::GetScanLine(TDes8 {ref}, const TPoint {ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Allen CHANG
//! @SYMCreationDate            02/01/2008
//! @SYMTestCaseDesc            Test for a 0-length scanline with starting point (0, 0).
//! @SYMTestActions             1. Creates a RWsSession object and connects to window server.
//!                             2. Creates a CWsScreenDevice attached to the RWsSession object created before.
//!                             3. Creates a CWindowGc object.
//!                             4. Completes the construction.
//!                             5. Creates a RWindowGroup object attached to the RWsSession object created before.
//!                             6. Creates a RWindow object attached to the RWindowGroup object created before.
//!                             7. Initializes the display mode of the screen.
//!                             8. Sets background color of screen to red.
//!                             9. Flushes the buffer to screen.
//!                             10. Begins to draw screen, then end to draw screen.
//!                             11. Gets scanline from screen.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic received at Test Action 11. 
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession          ws
        CREATE_OBJECT           CWsScreenDevice     scrdev
        CREATE_OBJECT           CWindowGc           wgc
        CREATE_OBJECT           RWindowGroup        wingrp
        CREATE_OBJECT           RWindow             win            
        COMMAND                 ws                  new
        COMMAND                 ws                  Connect        
        COMMAND                 scrdev              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-new_command03
        COMMAND                 scrdev              Construct
        COMMAND                 scrdev              CreateContext           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-CreateContext_command05
        COMMAND                 wingrp              new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-new_command06
        COMMAND                 wingrp              Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-Construct_command07
        COMMAND                 win                 new                     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-new_command08
        COMMAND                 win                 Construct               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-Construct_command09
        COMMAND                 win                 SetRequiredDisplayMode  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-SetRequiredDisplayMode_command10
        COMMAND                 win                 SetBackgroundColor      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-SetBackgroundColor_command11
        COMMAND                 win                 Activate
        COMMAND                 ws                  SetAutoFlush            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-SetAutoFlush_command13
        COMMAND                 wgc                 Activate                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-Activate_command14
        COMMAND                 win                 BeginRedraw
        COMMAND                 win                 EndRedraw
        COMMAND                 scrdev              GetScanLine             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0223-0001-GetScanLine_command17
   END_TEST_BLOCK                
   RUN_TEST_STEP				100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0223



START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0230
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0230
//! @SYMAPI                     CWsScreenDevice::ReleaseFont(CFont{ptr}) 
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            2/13/2008
//! @SYMTestCaseDesc            Verify the behaviour of ReleaseFont. 
//!                             Get font and draw text use it, then release font, then use font to draw again, a panic will arise.
//! @SYMTestActions             1. Setup a CWindowGc to test and a RWindow to display its drawing result
//!                             1.1 New and connect a RWsSession
//!                             1.2 New and construct a CWsScreenDevice within the RWsSession
//!                             1.3 Create a CWindowGc within the CWsScreenDevice (use CreateContext)
//!                             1.4 New and construct a RWindowGroup within the RWsSession
//!                             1.5 New and construct a RWindow as the child of the RWindowGroup
//!                                     and SetRequiredDisplayMode (to EColor4K) for the RWindow
//!                             1.6 SetAutoFlush to TRUE for the RWsSession
//!                             1.7 Activate the CWindowGc to the RWindow
//!                             2. Start a redraw cycle
//!                             3. Set Gc pen color to TRgb(255,0,255)
//!                             4. Get font in pixels for Arial, 30 pixels font.
//!                             5. Use font to draw text.
//!                             5.1 Gc uses font.
//!                             5.2 Draw text at (50,100).
//!                             5.3 Gc discard font.
//!                             6. Release font.
//!                             7. Use font to draw text.
//!                             7.1 Gc uses font.
//!                             7.2 Draw text at (50,100).
//!                             7.3 Gc discard font.
//!                             8. End a redraw cycle
//!                             9.Deactive RWindow, destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 14(13 for emulator DEBUG) panic received at Test Action 5.1. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            CreateContext GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-CreateContext_command05              
        COMMAND                 wingrp            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-new_command06
        COMMAND                 wingrp            Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-Construct_command07
        COMMAND                 win               new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-new_command08
        COMMAND                 win               Construct     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               Activate  
        COMMAND                 ws                SetAutoFlush  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-SetAutoFlush_command12
        COMMAND                 wgc               Activate      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-Activate_command13
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetPenColor   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-SetPenColor_command015
        COMMAND                 scrdev            GetNearestFontToDesignHeightInPixels     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-GetNearestFontToDesignHeightInPixels_command016
        COMMAND                 wgc               UseFont       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-UseFont_command017
        COMMAND                 wgc               DrawText      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-DrawText_command018
        COMMAND                 wgc               DiscardFont 
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-ReleaseFont_command19
        COMMAND                 wgc               UseFont       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-UseFont_command020
        COMMAND                 wgc               DrawText      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0230-0001-DrawText_command021
        COMMAND                 wgc               DiscardFont 
        COMMAND                 win               EndRedraw
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~        
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    !panicstring=WSERV !paniccode=14
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0230


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0231
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0231
//! @SYMAPI                     CWsScreenDevice::ReleaseFont(CFont{ptr}) 
//! @SYMAuthor                  Ray Liang
//! @SYMCreationDate            2/13/2008
//! @SYMTestCaseDesc            Negative test for NULL CFont. 
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Release font with NULL CFont pointer.
//!                             4. Destruct the CWsScreenDevice object
//!                             5. Close the RWsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     No panic. 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CFbsFont          font
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0231-0001-new_command03       
        COMMAND                 scrdev            Construct             
        COMMAND                 scrdev            ReleaseFont        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0231-0001-ReleaseFont_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0231

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0279
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0279
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect{ref}, const TRect{ref})
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/18/2007
//! @SYMTestCaseDesc            Compare two areas with sprite or text cursor over them.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a CWindowGc attached to CWsScreenDevice.
//!                             4. Create a RWindowGroup attached to RWsSession.
//!                             5. Create a RWindow, setup it and activate.
//!                             6. SetAutoFlush to TRUE for the RWsSession.
//!                             7. Active CWindowGc.
//!                             8. Setup and draw 2 rectangles(60*60 size,filled with red, border is black)in 2 different regions with same content. 
//!                             9. Create 2 RWsSprite attached to RWsSession by using RWsSprite(RWsSession &aWs) and construct.
//!                             10. Create 4 CFbsBitmap objects and load bitmaps.
//!                             11. Append these CFbsBitmaps to RWsSprites.
//!                             12. Set RWsSprites's position using SetPosition().
//!                             13. Compare 2 rectangles with sprites over them.
//!                             13.1. Compare 2 rectangles with same graphics and a sprite over one of them.
//!                             13.2. Compare 2 rectangles with different graphics and same sprites.
//!                             14. Destruct CFbsBitmaps objects and close RWsSprite objects.
//!                             15. Set a text cursor using RWindowGroup::SetTextCursor().
//!                             16. Compare 2 rectangles with a text cursor over one of them.
//!                             16.1. Compare 2 rectangles with same graphics and a text cursor over one of them.
//!                             16.2. Compare 2 rectangles with different graphics and a text cursor over one of them.
//!                             17. Deactive RWindow, destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. No panic 
//!                             2. Result of comparing 2 rectangles with sprites
//!                             2.1. Step 13.1 return ETrue  
//!                             2.2. Step 13.2 return EFalse  
//!                             3. Result of comparing 2 rectangles with a text cursor
//!                             3.1. Step 16.1 return ETrue  
//!                             3.2. Step 16.2 return EFalse  
//! @SYMTestType                CIT
        START_TEST_BLOCK        10           T_GraphicsWservAPI \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
                CREATE_OBJECT           RWsSession          ws
                CREATE_OBJECT           CWsScreenDevice     scrdev
                CREATE_OBJECT           CWindowGc           wgc
                CREATE_OBJECT           CFbsBitmap          fbsbmp1
                CREATE_OBJECT           CFbsBitmap          fbsbmp2
                CREATE_OBJECT           CFbsBitmap          fbsbmp3
                CREATE_OBJECT           CFbsBitmap          fbsbmp4
                CREATE_OBJECT           RWindowGroup        wingrp
                CREATE_OBJECT           RWindow             win
                CREATE_OBJECT           RWsSprite           sprite1
                CREATE_OBJECT           RWsSprite           sprite2
                CREATE_OBJECT           RWsSprite           sprite3
                COMMAND                 ws                  new
                COMMAND                 ws                  Connect
                COMMAND                 scrdev              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-new_command03       
                COMMAND                 scrdev              Construct
                COMMAND                 scrdev              CreateContext       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-CreateContext_command05
                COMMAND                 wingrp              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-new_command06
                COMMAND                 wingrp              Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-Construct_command07
                COMMAND                 win                 new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-new_command08
                COMMAND                 win                 Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-Construct_command09
                COMMAND                 win                 Activate
                COMMAND                 ws                  SetAutoFlush        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-SetAutoFlush_command11
                COMMAND                 wgc                 Activate            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-Activate_command12
                COMMAND                 win                 BeginRedraw
                COMMAND                 wgc                 SetBrushColor       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-SetBrushColor_command14
                COMMAND                 wgc                 SetBrushStyle       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-SetBrushStyle_command15
                COMMAND                 wgc                 SetPenColor         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-SetPenColor_command16
                COMMAND                 wgc                 DrawRect            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-DrawRect_command17
                COMMAND                 wgc                 DrawRect            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-DrawRect_command18
                COMMAND                 win                 EndRedraw
                COMMAND                 sprite1             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-new_command20
                COMMAND                 sprite1             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-construct_command21
                COMMAND                 fbsbmp1             new           
                COMMAND                 fbsbmp1             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-loadmask_command23
                
                COMMAND                 fbsbmp2             new           
                COMMAND                 fbsbmp2             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-load_command25
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-appendmember_command26
                
                COMMAND                 fbsbmp3             new           
                COMMAND                 fbsbmp3             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-load_command28
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-appendmember_command29

                COMMAND                 fbsbmp4             new           
                COMMAND                 fbsbmp4             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-load_command31
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-appendmember_command32
                COMMAND                 sprite1             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-SetPosition_command33
                
                COMMAND                 sprite2             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-new_command34
                COMMAND                 sprite2             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-construct_command35
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-appendmember_command36
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-appendmember_command37
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-appendmember_command38
                COMMAND                 sprite2             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-SetPosition_command39
                
                COMMAND                 sprite1             Activate
                COMMAND                 sprite2             Activate
                
                DELAY 1000000
                
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-RectCompare_command43
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-RectCompare_command44
                
                COMMAND                 fbsbmp1             ~
                COMMAND                 fbsbmp2             ~
                COMMAND                 fbsbmp3             ~
                COMMAND                 fbsbmp4             ~
                COMMAND                 sprite1             Close
                COMMAND                 sprite2             Close
                
                COMMAND                 wingrp              SetTextCursor       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-SetTextCursor_command51

                DELAY 1000000
                
                //!COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-RectCompare_command53
                //!COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0279-0001-RectCompare_command54
                
                COMMAND                 wgc                 Deactivate
                COMMAND                 win                 Close
                COMMAND                 wingrp              Close
                COMMAND                 wgc                 ~
                COMMAND                 scrdev              ~        
                COMMAND                 ws                  Close
        END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0279

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0280
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0280
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect{ref}, const TRect{ref})
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            01/07/2008
//! @SYMTestCaseDesc            Compare rectangles which are outside the screen.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Refresh window with white color.
//!                             7. Compare two regions (rect1 (0,-50)-(50,50) & rect2 (50,-50)-(100,50)).
//!                             8. Compare two regions (rect1 (-50,0)-(50,50) & rect2 (-50,50)-(50,100)).
//!                             9. Compare two big regions (rect1 (-10000,-10000)-(0,0) & rect2 (0,0)-(10000,10000)).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. Action 7 return EFalse.
//!                             2. Action 8 return EFalse.
//!                             3. Action 9 return EFalse.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-CreateContext_command05
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-Construct_command07
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 win               EndRedraw
        COMMAND                 scrdev            RectCompare                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-RectCompare_command23
        COMMAND                 scrdev            RectCompare                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-RectCompare_command24
        COMMAND                 scrdev            RectCompare                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0280-0001-RectCompare_command25
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0280

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0281
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0281
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect{ref}, const TRect{ref}, TUint)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            01/07/2007
//! @SYMTestCaseDesc            Compares two areas of the screen to see if they have the same content with flag ERemoveSprite, EIncludeSprite or EIncludeTextCursor 
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a CWindowGc attached to CWsScreenDevice.
//!                             4. Create a RWindowGroup attached to RWsSession.
//!                             5. Create a RWindow, setup it and activate.
//!                             6. SetAutoFlush to TRUE for the RWsSession.
//!                             7. Active CWindowGc.
//!                             8. Setup and draw 2 rectangles(60*60 size,filled with red, border is black)in 2 different regions with same content. 
//!                             9. Create 3 RWsSprite attached to RWsSession by using RWsSprite(RWsSession &aWs) and construct.
//!                             10. Create 4 CFbsBitmap objects and load bitmaps.
//!                             11. Append these CFbsBitmaps to RWsSprites.
//!                             12. Set RWsSprites's position using SetPosition().
//!                             13. Compare 2 rectangles with sprites.
//!                             13.1. Compare 2 rectangles with same graphics and different sprites using flag ERemoveSprite.
//!                             13.2. Compare 2 rectangles with different graphics and same sprites using flag ERemoveSprite.
//!                             13.3. Compare 2 rectangles with same graphics and different sprites using flag EIncludeSprite.
//!                             13.4. Compare 2 rectangles with different graphics and same sprites using flag EIncludeSprite.
//!                             13.5. Compare 2 rectangles with same graphics and sprites using flag EIncludeSprite.
//!                             14. Destruct CFbsBitmaps objects and close RWsSprite objects.
//!                             15. Set a text cursor using RWindowGroup::SetTextCursor().
//!                             16. Compare 2 rectangles with a text cursor.
//!                             16.1. Compare 2 rectangles with same graphics and a text cursor over one of them using flag ERemoveSprite.
//!                             16.2. Compare 2 rectangles with different graphics and a text cursor over one of them using flag ERemoveSprite.
//!                             16.3. Compare 2 rectangles with same graphics and a text cursor over one of them using flag EIncludeTextCursor.
//!                             16.4. Compare 2 rectangles with different graphics and a text cursor over one of them using flag EIncludeTextCursor.
//!                             16.5. Compare 2 rectangles with same graphics and no cursors using flag EIncludeTextCursor.
//!                             17. Deactive RWindow, destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. No panic 
//!                             2. Result of comparing 2 rectangles with sprites
//!                             2.1. Step 13.1 returns ETrue  
//!                             2.2. Step 13.2 returns EFalse  
//!                             2.3. Step 13.3 returns EFalse  
//!                             2.4. Step 13.4 returns EFalse  
//!                             2.5. Step 13.5 returns ETrue  
//!                             3. Result of comparing 2 rectangles with a text cursor
//!                             3.1. Step 16.1 returns ETrue  
//!                             3.2. Step 16.2 returns EFalse  
//!                             3.3. Step 16.3 returns EFalse  
//!                             3.4. Step 16.4 returns EFalse  
//!                             3.5. Step 16.5 returns ETrue   
//! @SYMTestType                CIT
        START_TEST_BLOCK        10           T_GraphicsWservAPI \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
                CREATE_OBJECT           RWsSession          ws
                CREATE_OBJECT           CWsScreenDevice     scrdev
                CREATE_OBJECT           CWindowGc           wgc
                CREATE_OBJECT           CFbsBitmap          fbsbmp1
                CREATE_OBJECT           CFbsBitmap          fbsbmp2
                CREATE_OBJECT           CFbsBitmap          fbsbmp3
                CREATE_OBJECT           CFbsBitmap          fbsbmp4
                CREATE_OBJECT           RWindowGroup        wingrp
                CREATE_OBJECT           RWindow             win
                CREATE_OBJECT           RWsSprite           sprite1
                CREATE_OBJECT           RWsSprite           sprite2
                CREATE_OBJECT           RWsSprite           sprite3
                COMMAND                 ws                  new
                COMMAND                 ws                  Connect
                COMMAND                 scrdev              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-new_command03       
                COMMAND                 scrdev              Construct
                COMMAND                 scrdev              CreateContext       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-CreateContext_command05
                COMMAND                 wingrp              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-new_command06
                COMMAND                 wingrp              Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-Construct_command07
                COMMAND                 win                 new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-new_command08
                COMMAND                 win                 Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-Construct_command09
                COMMAND                 win                 Activate
                COMMAND                 ws                  SetAutoFlush        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetAutoFlush_command11
                COMMAND                 wgc                 Activate            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-Activate_command12
                COMMAND                 win                 BeginRedraw
                COMMAND                 wgc                 SetBrushColor       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetBrushColor_command14
                COMMAND                 wgc                 SetBrushStyle       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetBrushStyle_command15
                COMMAND                 wgc                 SetPenColor         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetPenColor_command16
                COMMAND                 wgc                 DrawRect            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-DrawRect_command17
                COMMAND                 wgc                 DrawRect            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-DrawRect_command18
                COMMAND                 win                 EndRedraw
                COMMAND                 sprite1             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-new_command19
                COMMAND                 sprite1             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-construct_command20
                COMMAND                 fbsbmp1             new           
                COMMAND                 fbsbmp1             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-loadmask_command22
                
                COMMAND                 fbsbmp2             new           
                COMMAND                 fbsbmp2             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-load_command24
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command25
                
                COMMAND                 fbsbmp3             new           
                COMMAND                 fbsbmp3             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-load_command27
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command28

                COMMAND                 fbsbmp4             new           
                COMMAND                 fbsbmp4             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-load_command30
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command31
                COMMAND                 sprite1             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetPosition_command32
                
                COMMAND                 sprite2             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-new_command33
                COMMAND                 sprite2             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-construct_command34
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command35
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command36
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command37
                COMMAND                 sprite2             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetPosition_command38
                
                COMMAND                 sprite3             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-new_command39
                COMMAND                 sprite3             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-construct_command40
                COMMAND                 sprite3             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command41
                COMMAND                 sprite3             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command42
                COMMAND                 sprite3             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-appendmember_command43
                COMMAND                 sprite3             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetPosition_command44
                
                COMMAND                 sprite1             Activate
                COMMAND                 sprite2             Activate
                COMMAND                 sprite3             Activate
                
                DELAY 1000000
                
                //! COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command49
                //! COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command50
                
                //! COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command51
                //! COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command52
                //! COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command53
                
                COMMAND                 fbsbmp1             ~
                COMMAND                 fbsbmp2             ~
                COMMAND                 fbsbmp3             ~
                COMMAND                 fbsbmp4             ~
                COMMAND                 sprite1             Close
                COMMAND                 sprite2             Close
                COMMAND                 sprite3             Close
                
                COMMAND                 wingrp              SetTextCursor       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-SetTextCursor_command61

                DELAY 1000000
                
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command63
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command64
                
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command65
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command66
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0281-0001-RectCompare_command67
                
                COMMAND                 wgc                 Deactivate
                COMMAND                 win                 Close
                COMMAND                 wingrp              Close
                COMMAND                 wgc                 ~
                COMMAND                 scrdev              ~        
                COMMAND                 ws                  Close
        END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0281

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0282
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0282
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect{ref}, const TRect{ref}, TUint)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            01/07/2007
//! @SYMTestCaseDesc            Compares two areas beyonding the screen to see if they have the same content with flag ERemoveSprite, EIncludeSprite or EIncludeTextCursor 
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a CWindowGc attached to CWsScreenDevice.
//!                             4. Create a RWindowGroup attached to RWsSession.
//!                             5. Create a RWindow, setup it and activate.
//!                             6. SetAutoFlush to TRUE for the RWsSession.
//!                             7. Active CWindowGc.
//!                             8. Setup and draw 2 rectangles(60*60 size,filled with red, border is black)in 2 different regions with same content. 
//!                             9. Create 3 RWsSprite attached to RWsSession by using RWsSprite(RWsSession &aWs) and construct.
//!                             10. Create 4 CFbsBitmap objects and load bitmaps.
//!                             11. Append these CFbsBitmaps to RWsSprites.
//!                             12. Set RWsSprites's position using SetPosition().
//!                             13. Compare 2 rectangles beyonding the screen with sprites.
//!                             13.1. Compare 2 rectangles beyonding the screen with same graphics and different sprites using flag ERemoveSprite.
//!                             13.2. Compare 2 rectangles beyonding the screen with same graphics and sprites using flag EIncludeSprite.
//!                             14. Destruct CFbsBitmaps objects and close RWsSprite objects.
//!                             15. Set a text cursor using RWindowGroup::SetTextCursor().
//!                             16. Compare 2 rectangles beyonding the screen with a text cursor.
//!                             16.1. Compare 2 rectangles beyonding the screen with same graphics and a text cursor over one of them using flag ERemoveSprite.
//!                             16.2. Compare 2 rectangles beyonding the screen with same graphics and no cursors using flag EIncludeTextCursor.
//!                             17. Deactive RWindow, destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. No panic 
//!                             2. Result of comparing 2 rectangles beyonding the screen with sprites
//!                             2.1. Step 13.1 returns EFalse  
//!                             2.2. Step 13.2 returns EFalse  
//!                             3. Result of comparing 2 rectangles beyonding the screen with a text cursor
//!                             3.1. Step 16.1 returns EFalse  
//!                             3.2. Step 16.2 returns EFalse 
//! @SYMTestType                CIT
        START_TEST_BLOCK        10           T_GraphicsWservAPI \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
                CREATE_OBJECT           RWsSession          ws
                CREATE_OBJECT           CWsScreenDevice     scrdev
                CREATE_OBJECT           CWindowGc           wgc
                CREATE_OBJECT           CFbsBitmap          fbsbmp1
                CREATE_OBJECT           CFbsBitmap          fbsbmp2
                CREATE_OBJECT           CFbsBitmap          fbsbmp3
                CREATE_OBJECT           CFbsBitmap          fbsbmp4
                CREATE_OBJECT           RWindowGroup        wingrp
                CREATE_OBJECT           RWindow             win
                CREATE_OBJECT           RWsSprite           sprite1
                CREATE_OBJECT           RWsSprite           sprite2
                CREATE_OBJECT           RWsSprite           sprite3
                COMMAND                 ws                  new
                COMMAND                 ws                  Connect
                COMMAND                 scrdev              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-new_command03       
                COMMAND                 scrdev              Construct
                COMMAND                 scrdev              CreateContext       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-CreateContext_command05
                COMMAND                 wingrp              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-new_command06
                COMMAND                 wingrp              Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-Construct_command07
                COMMAND                 win                 new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-new_command08
                COMMAND                 win                 Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-Construct_command09
                COMMAND                 win                 Activate
                COMMAND                 ws                  SetAutoFlush        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetAutoFlush_command11
                COMMAND                 wgc                 Activate            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-Activate_command12
                COMMAND                 win                 BeginRedraw
                COMMAND                 wgc                 SetBrushColor       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetBrushColor_command14
                COMMAND                 wgc                 SetBrushStyle       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetBrushStyle_command15
                COMMAND                 wgc                 SetPenColor         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetPenColor_command16
                COMMAND                 wgc                 DrawRect            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-DrawRect_command17
                COMMAND                 wgc                 DrawRect            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-DrawRect_command18
                COMMAND                 win                 EndRedraw

                COMMAND                 sprite1             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-new_command19
                COMMAND                 sprite1             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-construct_command20
                COMMAND                 fbsbmp1             new           
                COMMAND                 fbsbmp1             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-loadmask_command22
                
                COMMAND                 fbsbmp2             new           
                COMMAND                 fbsbmp2             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-load_command24
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command25
                
                COMMAND                 fbsbmp3             new           
                COMMAND                 fbsbmp3             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-load_command27
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command28

                COMMAND                 fbsbmp4             new           
                COMMAND                 fbsbmp4             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-load_command30
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command31
                COMMAND                 sprite1             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetPosition_command32
                
                COMMAND                 sprite2             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-new_command33
                COMMAND                 sprite2             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-construct_command34
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command35
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command36
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command37
                COMMAND                 sprite2             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetPosition_command38
                
                COMMAND                 sprite3             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-new_command39
                COMMAND                 sprite3             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-construct_command40
                COMMAND                 sprite3             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command41
                COMMAND                 sprite3             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command42
                COMMAND                 sprite3             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-appendmember_command43
                COMMAND                 sprite3             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetPosition_command44
                
                COMMAND                 sprite1             Activate
                COMMAND                 sprite2             Activate
                COMMAND                 sprite3             Activate
                
                DELAY 1000000
                
                COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-RectCompare_command49
                COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-RectCompare_command50
                
                COMMAND                 fbsbmp1             ~
                COMMAND                 fbsbmp2             ~
                COMMAND                 fbsbmp3             ~
                COMMAND                 fbsbmp4             ~
                COMMAND                 sprite1             Close
                COMMAND                 sprite2             Close
                COMMAND                 sprite3             Close
                
                COMMAND                 wingrp              SetTextCursor       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-SetTextCursor_command58

                DELAY 1000000
                
                COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-RectCompare_command60
                COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0282-0001-RectCompare_command61
                
                COMMAND                 wgc                 Deactivate
                COMMAND                 win                 Close
                COMMAND                 wingrp              Close
                COMMAND                 wgc                 ~
                COMMAND                 scrdev              ~        
                COMMAND                 ws                  Close
        END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0282


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283
//! @SYMAPI                     CWsScreenDevice::RectCompare(const TRect{ref}, const TRect{ref}, TUint)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            01/07/2007
//! @SYMTestCaseDesc            Compares two areas with different sprite to see if they have the same content with flag ERemoveSprite and EIncludeSprite
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a CWindowGc attached to CWsScreenDevice.
//!                             4. Create a RWindowGroup attached to RWsSession.
//!                             5. Create a RWindow, setup it and activate.
//!                             6. SetAutoFlush to TRUE for the RWsSession.
//!                             7. Active CWindowGc.
//!                             8. Create 2 RWsSprite attached to RWsSession by using RWsSprite(RWsSession &aWs) and construct.
//!                             9. Create 4 CFbsBitmap objects and load bitmaps.
//!                             10. Append these CFbsBitmaps to RWsSprites.
//!                             11. Set RWsSprites's position using SetPosition().
//!                             12. Compare 2 rectangles.
//!                             12.1. Compare 2 rectangles with same graphics and different sprite using flag ERemoveSprite.
//!                             12.2. Compare 2 rectangles with same graphics and different sprite using flag EIncludeSprite.
//!                             13. Deactive RWindow, destruct and close all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. No panic 
//!                             2. Result of comparing 2 rectangles with different sprite
//!                             2.1. Step 12.1 returns EFalse  
//!                             2.2. Step 12.2 returns EFalse  
//! @SYMTestType                CIT
        START_TEST_BLOCK        10           T_GraphicsWservAPI \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
                CREATE_OBJECT           RWsSession          ws
                CREATE_OBJECT           CWsScreenDevice     scrdev
                CREATE_OBJECT           CWindowGc           wgc
                CREATE_OBJECT           CFbsBitmap          fbsbmp1
                CREATE_OBJECT           CFbsBitmap          fbsbmp2
                CREATE_OBJECT           CFbsBitmap          fbsbmp3
                CREATE_OBJECT           CFbsBitmap          fbsbmp4
                CREATE_OBJECT           RWindowGroup        wingrp
                CREATE_OBJECT           RWindow             win
                CREATE_OBJECT           RWsSprite           sprite1
                CREATE_OBJECT           RWsSprite           sprite2
                COMMAND                 ws                  new
                COMMAND                 ws                  Connect
                COMMAND                 scrdev              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-new_command03       
                COMMAND                 scrdev              Construct
                COMMAND                 scrdev              CreateContext       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-CreateContext_command05
                COMMAND                 wingrp              new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-new_command06
                COMMAND                 wingrp              Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-Construct_command07
                COMMAND                 win                 new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-new_command08
                COMMAND                 win                 Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-Construct_command09
                COMMAND                 win                 Activate
                COMMAND                 ws                  SetAutoFlush        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-SetAutoFlush_command11
                COMMAND                 wgc                 Activate            GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-Activate_command12
                COMMAND                 win                 BeginRedraw
                COMMAND                 win                 EndRedraw

                COMMAND                 sprite1             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-new_command15
                COMMAND                 sprite1             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-construct_command16
                COMMAND                 fbsbmp1             new           
                COMMAND                 fbsbmp1             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-loadmask_command18
                
                COMMAND                 fbsbmp2             new           
                COMMAND                 fbsbmp2             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-load_command20
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-appendmember_command21
                
                COMMAND                 fbsbmp3             new           
                COMMAND                 fbsbmp3             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-load_command23
                COMMAND                 sprite1             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-appendmember_command24

                COMMAND                 sprite1             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-SetPosition_command25
                
                COMMAND                 sprite2             new                 GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-new_command26
                COMMAND                 sprite2             Construct           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-construct_command27
 
                COMMAND                 fbsbmp4             new           
                COMMAND                 fbsbmp4             Load                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-load_command29
                COMMAND                 sprite2             AppendMember        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-appendmember_command30
                COMMAND                 sprite2             SetPosition         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-SetPosition_command31
                
                
                COMMAND                 sprite1             Activate
                COMMAND                 sprite2             Activate
                
                DELAY 1000000
                
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-RectCompare_command34
              //!  COMMAND                 scrdev              RectCompare         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283-0001-RectCompare_command35
                
                COMMAND                 fbsbmp1             ~
                COMMAND                 fbsbmp2             ~
                COMMAND                 fbsbmp3             ~
                COMMAND                 fbsbmp4             ~
                COMMAND                 sprite1             Close
                COMMAND                 sprite2             Close
                COMMAND                 wgc                 Deactivate
                COMMAND                 win                 Close
                COMMAND                 wingrp              Close
                COMMAND                 wgc                 ~
                COMMAND                 scrdev              ~        
                COMMAND                 ws                  Close
        END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0283

//!START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0291
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0291
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap {ptr})
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            01/09/2007
//! @SYMTestCaseDesc            Negative test, uses the bitmap of NULL pointer.
//!                             Copy the entire screen which has a rectangle to the bitmap of NULL pointer.                   
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow and set its displaymode and background color and then activate it.
//!                             5. RWsSession SetAutoFlush
//!                             6. Draw a rectangle(100*100, filled with red, border is black).
//!                             7. Copy the entire screen to a bitmap of NULL pointer.                           
//!                             8. Destruct and close objects used.
//! @SYMTestExpectedResults     KERN-EXEC 3 panic received at Test Action 7.
//!    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
//!        CREATE_OBJECT           RWsSession        ws
//!        CREATE_OBJECT           CWsScreenDevice   scrdev
//!        CREATE_OBJECT           CWindowGc         wgc
//!        CREATE_OBJECT           CFbsBitmap        fbsbitmap
//!        CREATE_OBJECT           RWindowGroup      wingrp
//!        CREATE_OBJECT           RWindow           win
//!        COMMAND                 ws                new       
//!        COMMAND                 ws                Connect        
//!        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-new_command03       
//!        COMMAND                 scrdev            Construct
//!        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-CreateContext_command05
//!        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-new_command06
//!        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-Construct_command07
//!        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-new_command08
//!        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-Construct_command09
//!        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-SetRequiredDisplayMode_command10
//!        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-SetBackgroundColor_command11
//!        COMMAND                 win               Activate
//!        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-SetAutoFlush_command13
//!        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-Activate_command14
//!        COMMAND                 win               BeginRedraw
//!        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-SetBrushColor_command16
//!        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-SetBrushStyle_command17
//!        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-SetPenColor_command18
//!        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-DrawRect_command19
//!        COMMAND                 win               EndRedraw
//!        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0291-0001-CopyScreenToBitmap_command20
//!        COMMAND                 fbsbitmap         ~        
//!        COMMAND                 wgc               Deactivate
//!        COMMAND                 win               Close
//!        COMMAND                 wingrp            Close
//!        COMMAND                 wgc               ~
//!        COMMAND                 scrdev            ~        
//!        COMMAND                 ws                Close      
//!    END_TEST_BLOCK    !PanicString=KERN-EXEC    !PanicCode=3
//!    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg    
//!END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0291

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0293
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0293
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap{ptr}, const TRect{ref}) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/8/2007
//! @SYMTestCaseDesc            Negative test, copies a rect which is half in screen and half out of screen to a bitmap.
//!                             Set up and draw a 100*100 rect half in screen and half out of screen, copy the 100*100 rect to a 100*100 bitmap.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle(100*100 size, filled with red, border is black). The rectangle is half in the screen and half out of the screen.
//!                             7. Create a CFbsBitmap which size is 100*100.
//!                             8. Copy the rect to the bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle(inside is red, border is black, ouside is white).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct(The bitmap's upper half is white, below half is painted).
//!                                 2.1 The pixels (0,0) is color TRgb(255,255,255); The upper half is white.
//!                                 2.2 The pixels (99,99) is color TRgb(0,0,0); The border is black.
//!                                 2.3 The pixels (0,49) is color TRgb(255,255,255); The upper half is white.
//!                                 2.4 The pixels (99,49) is color TRgb(255,255,255); The upper half is white.
//!                                 2.5 The pixels (1,1) is color TRgb(255,255,255); The upper half is white.
//!                                 2.6 The pixels (0,99) is color TRgb(0,0,0); The border is black.
//!                                 2.7 The pixels (1,50) is color TRgb(255,0,0); below half, inside is red.
//!                                 2.8 The pixels (98,98) is color TRgb(255,0,0); below half, inside is red.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-CreateContext_command05
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-Construct_command07
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command28
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command29
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command30
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0293-0001-GetPixel_command31
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0293


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0294
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0294
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap{ptr}, const TRect{ref}) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/8/2007
//! @SYMTestCaseDesc            Negative test, copies a very large rect to a very large bitmap.
//!                             Set up and draw a 100*100 rect on white screen, and copy a 1000*2000 rect to a 1000*2000 bitmap.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle(100*100 size,filled with red, border is black).
//!                             7. Create a CFbsBitmap which size is 1000*2000.
//!                             8. Copy the 1000*2000 rect to the 1000*2000 bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle(inside is red, border is black, ouside is white).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct.
//!                                 2.1 The pixels (0,0) is color TRgb(0,0,0); The border is black.
//!                                 2.2 The pixels (99,99) is color TRgb(0,0,0); The border is black.
//!                                 2.3 The pixels (50,99) is color TRgb(0,0,0); The border is black.
//!                                 2.4 The pixels (99,50) is color TRgb(0,0,0); The border is black.
//!                                 2.5 The pixels (1,1) is color TRgb(255,0,0); Inside is red.
//!                                 2.6 The pixels (98,98) is color TRgb(255,0,0); Inside is red.
//!                                 2.7 The pixels (100,100) is color TRgb(255,255,255); Outside is white.
//!                                 2.8 The pixels (999,1999) is color TRgb(255,255,255); Outside is white.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-CreateContext_command05
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-Construct_command07
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command28
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command29
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command30
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0294-0001-GetPixel_command31
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0294

//!START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0295
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0295
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap{ptr}, const TRect{ref}) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/8/2007
//! @SYMTestCaseDesc            Negative test, copies a rect to a bitmap pointer which is NULL.
//!                             Set up and draw a 100*100 rect on white screen and copy the 100*100 rect in the screen to a bitmap, but the bitmap pointer is NULL.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle(100*100 size,filled with red, border is black).
//!                             7. Create a CFbsBitmap wrapper, which's object pointer is NULL.
//!                             8. Copy a 100*100 rect to a bitmap pointer which is NULL.
//!                             9. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     KERN-EXEC 3 panic received at Test Action 8. 
//! @SYMTestType                CIT
//!    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
//!        CREATE_OBJECT           RWsSession        ws
//!        CREATE_OBJECT           CWsScreenDevice   scrdev
//!        CREATE_OBJECT           CWindowGc         wgc
//!        CREATE_OBJECT           RWindowGroup      wingrp
//!        CREATE_OBJECT           RWindow           win
//!        CREATE_OBJECT           CFbsBitmap        fbsbitmap
//!        COMMAND                 ws                new       
//!        COMMAND                 ws                Connect        
//!        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-new_command03       
//!        COMMAND                 scrdev            Construct
//!        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-CreateContext_command05
//!        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-new_command06
//!        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-Construct_command07
//!        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-new_command08
//!        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-Construct_command09
//!        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-SetRequiredDisplayMode_command10
//!        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-SetBackgroundColor_command11
//!        COMMAND                 win               Activate
//!        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-SetAutoFlush_command13
//!        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-Activate_command14
//!        COMMAND                 win               BeginRedraw
//!        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-SetBrushColor_command16
//!        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-SetBrushStyle_command17
//!        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-SetPenColor_command18
//!        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-DrawRect_command19
//!        COMMAND                 win               EndRedraw
//!        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0295-0001-CopyScreenToBitmap_command20
//!        COMMAND                 wgc               Deactivate
//!        COMMAND                 win               Close
//!        COMMAND                 wingrp            Close
//!        COMMAND                 wgc               ~
//!        COMMAND                 scrdev            ~        
//!        COMMAND                 ws                Close   
//!    END_TEST_BLOCK    !PanicString=KERN-EXEC    !PanicCode=3
//!    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
//!END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0295

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0296
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0296
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap{ptr}, const TRect{ref}) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/8/2007
//! @SYMTestCaseDesc            Negative test, copies a rect to a bigger bitmap.
//!                             Set up and draw a 100*100 rect on white screen, and copy the 100*100 rect to a 200*200 bitmap.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle(100*100 size,filled with red, border is black).
//!                             7. Create a CFbsBitmap which size is 200*200.
//!                             8. Copy a 100*100 rect to the 200*200 bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle(inside is red, border is black, ouside is white).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct.
//!                                 2.1 The pixels (0,0) is color TRgb(0,0,0); The border is black.
//!                                 2.2 The pixels (99,99) is color TRgb(0,0,0); The border is black.
//!                                 2.3 The pixels (50,99) is color TRgb(0,0,0); The border is black.
//!                                 2.4 The pixels (99,50) is color TRgb(0,0,0); The border is black.
//!                                 2.5 The pixels (1,1) is color TRgb(255,0,0); Inside is red.
//!                                 2.6 The pixels (98,98) is color TRgb(255,0,0); Inside is red.
//!                                 2.7 The pixels (100,100) is color TRgb(255,255,255); Outside is white.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-CreateContext_command05
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-Construct_command07
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-GetPixel_command28
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-GetPixel_command29
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0296-0001-GetPixel_command30
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0296

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0297
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0297
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap{ptr}, const TRect{ref}) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/8/2007
//! @SYMTestCaseDesc            Negative test, copies a rect to a smaller bitmap.
//!                             Set up and draw a 100*100 rect on white screen, and copy the 100*100 rect to a 10*10 bitmap.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle(100*100 size,filled with red, border is black).
//!                             7. Create a CFbsBitmap which size is 10*10.
//!                             8. Copy a 100*100 rect to the 10*10 bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle(inside is red, border is black).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct.
//!                                 2.1 The pixels (0,0) is color TRgb(0,0,0); The border is black.
//!                                 2.2 The pixels (9,0) is color TRgb(0,0,0); The border is black.
//!                                 2.3 The pixels (0,9) is color TRgb(0,0,0); The border is black.
//!                                 2.4 The pixels (1,1) is color TRgb(255,0,0); Inside is red.
//!                                 2.5 The pixels (9,9) is color TRgb(255,0,0); Inside is red.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-CreateContext_command05
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-Construct_command07
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0297-0001-GetPixel_command28
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0297

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0298
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0298
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap{ptr}, const TRect{ref}) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/8/2007
//! @SYMTestCaseDesc            Negative test, copies a rect which is out of screen to a same size bitmap.
//!                             Set up and draw a 100*100 rect out of the screen, and copy the 100*100 rect to a 100*100 bitmap.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle out of the screen(100*100 size,filled with red, border is black).
//!                             7. Create a CFbsBitmap which size is 100*100.
//!                             8. Copy the 100*100 rect to the 100*100 bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle.(The whole bitmap is white).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct.
//!                                 2.1 The pixels (0,0) is color TRgb(255,255,255). 
//!                                 2.2 The pixels (99,99) is color TRgb(255,255,255). 
//!                                 2.3 The pixels (50,99) is color TRgb(255,255,255). 
//!                                 2.4 The pixels (99,50) is color TRgb(255,255,255). 
//!                                 2.5 The pixels (1,1) is color TRgb(255,255,255). 
//!                                 2.6 The pixels (98,98) is color TRgb(255,255,255). 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-CreateContext_command05
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-Construct_command07
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-GetPixel_command28
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0298-0001-GetPixel_command29
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0298

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0299
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0299
//! @SYMAPI                     CWsScreenDevice::CopyScreenToBitmap(const CFbsBitmap{ptr}, const TRect{ref}) 
//! @SYMAuthor                  Kevin Zeng
//! @SYMCreationDate            1/8/2007
//! @SYMTestCaseDesc            Negative test, copies a rect(-100,-100,0,0) to a same size bitmap.
//!                             Set up and draw a rect(-100,-100,0,0), and copy the 100*100 rect to a 100*100 bitmap.
//! @SYMTestActions             1. Create and connect a RWsSession.
//!                             2. Create a CWsScreenDevice attached to RWsSession.
//!                             3. Create a RWindowGroup attached to RWsSession.
//!                             4. Create a RWindow, setup it and activate.
//!                             5. RWsSession SetAutoFlush.
//!                             6. Setup and draw a rectangle( at rect(-100,-100,0,0), filled with red, border is black).
//!                             7. Create a CFbsBitmap which size is 100*100.
//!                             8. Copy the 100*100 rect to the 100*100 bitmap.
//!                             9. GetPixel from the bitmap, check the rectangle.(The whole bitmap is white).
//!                             10. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. CopyScreenToBitmap methods return KErrNone. 
//!                             2. The bitmap which is copyed to is correct.
//!                                 2.1 The pixels (0,0) is color TRgb(255,255,255). 
//!                                 2.2 The pixels (99,99) is color TRgb(255,255,255). 
//!                                 2.3 The pixels (50,99) is color TRgb(255,255,255). 
//!                                 2.4 The pixels (99,50) is color TRgb(255,255,255). 
//!                                 2.5 The pixels (1,1) is color TRgb(255,255,255). 
//!                                 2.6 The pixels (98,98) is color TRgb(255,255,255). 
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        CREATE_OBJECT           CWindowGc         wgc
        CREATE_OBJECT           RWindowGroup      wingrp
        CREATE_OBJECT           RWindow           win
        CREATE_OBJECT           CFbsBitmap        fbsbitmap
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            CreateContext                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-CreateContext_command05
        COMMAND                 wingrp            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-new_command06
        COMMAND                 wingrp            Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-Construct_command07
        COMMAND                 win               new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-new_command08
        COMMAND                 win               Construct                             GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-Construct_command09
        COMMAND                 win               SetRequiredDisplayMode                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-SetRequiredDisplayMode_command10
        COMMAND                 win               SetBackgroundColor                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-SetBackgroundColor_command11
        COMMAND                 win               Activate
        COMMAND                 ws                SetAutoFlush                          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-SetAutoFlush_command13
        COMMAND                 wgc               Activate                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-Activate_command14
        COMMAND                 win               BeginRedraw
        COMMAND                 wgc               SetBrushColor                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-SetBrushColor_command16
        COMMAND                 wgc               SetBrushStyle                         GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-SetBrushStyle_command17
        COMMAND                 wgc               SetPenColor                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-SetPenColor_command18
        COMMAND                 wgc               DrawRect                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-DrawRect_command19
        COMMAND                 win               EndRedraw
        COMMAND                 fbsbitmap         new
        COMMAND                 fbsbitmap         Create                                GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-Create_command22
        COMMAND                 scrdev            CopyScreenToBitmap                    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-CopyScreenToBitmap_command23
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-GetPixel_command24
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-GetPixel_command25
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-GetPixel_command26
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-GetPixel_command27
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-GetPixel_command28
        COMMAND                 fbsbitmap         GetPixel                              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0299-0001-GetPixel_command29
        COMMAND                 fbsbitmap         ~        
        COMMAND                 wgc               Deactivate
        COMMAND                 win               Close
        COMMAND                 wingrp            Close
        COMMAND                 wgc               ~
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0299

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0300
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0300
//! @SYMAPI                     CWsScreenDevice::GetScreenModeSizeAndRotation(TInt, TPixelsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the screen rotation and size(in pixels) using mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the screen size(in pixels) and rotation with mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0300-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeSizeAndRotation      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0300-0001-GetScreenModeSizeAndRotation_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0300


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0301
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0301
//! @SYMAPI                     CWsScreenDevice::GetScreenModeSizeAndRotation(TInt, TPixelsTwipsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the screen rotation and size(both in pixels and twips) using mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the screen size(both in pixels and twips) and rotation with mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                               GRAPHICS-WSERV-WsScreenDevice-PublicApi-0301-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeSizeAndRotation      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0301-0001-GetScreenModeSizeAndRotation_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0301


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0302
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0302
//! @SYMAPI                     CWsScreenDevice::GetRotationsList(TInt, CArrayFixFlat<TInt>{ptr})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the list of valid rotations using mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the list of valid rotations for mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0302-0001-new_command03       
        COMMAND                 scrdev            Construct                 
        COMMAND                 scrdev            GetRotationsList          GRAPHICS-WSERV-WsScreenDevice-PublicApi-0302-0001-GetRotationsList_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0302

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0303
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0303
//! @SYMAPI                     CWsScreenDevice::SetAppScreenMode(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, sets the application screen mode with mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Set the application with mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0303-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            SetAppScreenMode      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0303-0001-SetAppScreenMode_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0303


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0304
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0304
//! @SYMAPI                     CWsScreenDevice::GetScreenModeOrigin(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test,gets the origin of the screen using mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the origin of the screen for mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0304-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeOrigin       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0304-0001-GetScreenModeOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0304

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0305
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0305
//! @SYMAPI                     CWsScreenDevice::GetScreenModeScale(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the scale using mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the scale for mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0305-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeScale        GRAPHICS-WSERV-WsScreenDevice-PublicApi-0305-0001-GetScreenModeScale_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0305

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0306
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0306
//! @SYMAPI                     CWsScreenDevice::GetScreenModeScaledOrigin(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the scaled origin for mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the scaled origin for mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0306-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeScaledOrigin     GRAPHICS-WSERV-WsScreenDevice-PublicApi-0306-0001-GetScreenModeScaledOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0306


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0307
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0307
//! @SYMAPI                     CWsScreenDevice::GetScreenModeDisplayMode(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the display mode for mode -1
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the display mode for mode -1
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicApi-0307-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeDisplayMode      GRAPHICS-WSERV-WsScreenDevice-PublicApi-0307-0001-GetScreenModeDisplayMode_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0307

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0308
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0308
//! @SYMAPI                     CWsScreenDevice::SetScreenSizeAndRotation(const TPixelsAndRotation{ref})
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, uses invalid input values
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the current screen size and rotation, and check them to be same as default value
//!                             5. Set the current screen size in pixels and the rotation for the screen device with invalide values multi times
//!                             5.1 Set screen size to (10000,10000), set rotation to EGraphicsOrientationNormal
//!                             5.2 Set screen size to (1,1), set rotation to EGraphicsOrientationRotated90
//!                             5.3 Set screen size to (0,0), set rotation to EGraphicsOrientationRotated180
//!                             5.4 Set screen size to (-1,-1), set rotation to EGraphicsOrientationRotated270
//!                             5.5 Set screen size to (-10000,-10000), set rotation to EGraphicsOrientationNormal
//!                             5.6 Set screen size to (240,640) for Emulator or (240, 320) for H4 board, set rotation to EGraphicsOrientationNormal
//!                             5.7 Set screen size to (10000,640) for Emulator or (10000, 320) for H4 board, set rotation to EGraphicsOrientationNormal
//!                             6. Get the current screen size and rotation, and check them to be same as default value
//!                             7. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic with invalid values and anything should not be changed.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-new_command03
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetDefaultScreenSizeAndRotation       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-GetDefaultScreenSizeAndRotation_command05
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-SetScreenSizeAndRotation_command06
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-SetScreenSizeAndRotation_command07
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-SetScreenSizeAndRotation_command08
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-SetScreenSizeAndRotation_command09
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-SetScreenSizeAndRotation_command10
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-SetScreenSizeAndRotation_command11
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-SetScreenSizeAndRotation_command12
        COMMAND                 scrdev            GetDefaultScreenSizeAndRotation       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0308-0001-GetDefaultScreenSizeAndRotation_command13
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0308

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0309
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0309
//! @SYMAPI                     CWsScreenDevice::SetScreenSizeAndRotation(const TPixelsTwipsAndRotation{ref})
//! @SYMAuthor                  Niandong Qiao
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, uses invalid input values
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the current screen size and rotation, and check them to be same as default value
//!                             5. Set the current screen size(in both twips and pixels) and the rotation for the screen device with invalide values multi times
//!                             5.1 Set screen size in twips to (100000,100000), in pixels to(10000,10000), set rotation to EGraphicsOrientationNormal
//!                             5.2 Set screen size in twips to (1,1), in pixels to(1,1), set rotation to EGraphicsOrientationRotated90
//!                             5.3 Set screen size in twips to (0,0), in pixels to(0,0), set rotation to EGraphicsOrientationRotated180
//!                             5.4 Set screen size in twips to (-1,-1), in pixels to(-1,-1), set rotation to EGraphicsOrientationRotated270
//!                             5.5 Set screen size in twips to (-100000,-100000), in pixels to(-10000,-10000), set rotation to EGraphicsOrientationNormal
//!                             5.6 Set screen size in twips to (7620,2000) for Emulator or (4463, 2000) for H4 board, in pixels to (640,200) for Emulator or (340,200) for H4 board, set rotation to EGraphicsOrientationNormal
//!                             5.7 Set screen size in twips to (2858,7620) for Emulator or (3041,4463) for H4 board, in pixels to (240,640) for Emulator or (240, 320) for H4 board, set rotation to EGraphicsOrientationNormal
//!                             5.8 Set screen size in twips to (2858,2000) for Emulator or (3041,2000) for H4 board, in pixels to (240,640) for Emulator or (240, 320) for H4 board, set rotation to EGraphicsOrientationNormal
//!                             5.9 Set screen size in twips to (2000,2000) for Emulator or (2000,2000) for H4 board, in pixels to (240,640) for Emulator or (240, 320) for H4 board, set rotation to EGraphicsOrientationNormal
//!                             5.10 Set screen size in twips to (2000,2000) for Emulator or (2000,2000) for H4 board, in pixels to (240,200) for Emulator or (240, 200) for H4 board, set rotation to EGraphicsOrientationNormal
//!                             6. Get the current screen size and rotation, and check them to be same as default value
//!                             7. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     No panic with invalid values and anything should not be changed.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                                   GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-new_command03
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetDefaultScreenSizeAndRotation       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-GetDefaultScreenSizeAndRotation_command05
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command06
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command07
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command08
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command09
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command10
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command11
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command12
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command13
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command14
        COMMAND                 scrdev            SetScreenSizeAndRotation              GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-SetScreenSizeAndRotation_command15
        COMMAND                 scrdev            GetDefaultScreenSizeAndRotation       GRAPHICS-WSERV-WsScreenDevice-PublicApi-0309-0001-GetDefaultScreenSizeAndRotation_command16
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0309


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0310
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0310
//! @SYMAPI                     CWsScreenDevice::GetScreenModeSizeAndRotation(TInt, TPixelsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the screen rotation and size(in pixels) using mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the screen size(in pixels) and rotation with mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                               GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0310-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeSizeAndRotation      GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0310-0001-GetScreenModeSizeAndRotation_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0310


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0311
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0311
//! @SYMAPI                     CWsScreenDevice::GetScreenModeSizeAndRotation(TInt, TPixelsTwipsAndRotation{ref})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the screen rotation and size(both in pixels and twips) using mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the screen size(both in pixels and twips) and rotation with mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                               GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0311-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeSizeAndRotation      GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0311-0001-GetScreenModeSizeAndRotation_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0311


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0312
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0312
//! @SYMAPI                     CWsScreenDevice::GetRotationsList(TInt, CArrayFixFlat<TInt>{ptr})
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the list of valid rotations using mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the list of valid rotations for mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0312-0001-new_command03       
        COMMAND                 scrdev            Construct                 
        COMMAND                 scrdev            GetRotationsList          GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0312-0001-GetRotationsList_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0312

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0313
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0313
//! @SYMAPI                     CWsScreenDevice::SetAppScreenMode(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, sets the application screen mode with mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Set the application with mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                   GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0313-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            SetAppScreenMode      GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0313-0001-SetAppScreenMode_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0313


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0314
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0314
//! @SYMAPI                     CWsScreenDevice::GetScreenModeOrigin(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test,gets the origin of the screen using mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the origin of the screen for mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0314-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeOrigin       GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0314-0001-GetScreenModeOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0314

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0315
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0315
//! @SYMAPI                     CWsScreenDevice::GetScreenModeScale(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the scale using mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the scale for mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                       GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0315-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeScale        GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0315-0001-GetScreenModeScale_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0315

START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0316
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0316
//! @SYMAPI                     CWsScreenDevice::GetScreenModeScaledOrigin(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the scaled origin for mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the scaled origin for mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0316-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeScaledOrigin     GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0316-0001-GetScreenModeScaledOrigin_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0316


START_TESTCASE                  GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0317
//! @SYMTestCaseID              GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0317
//! @SYMAPI                     CWsScreenDevice::GetScreenModeDisplayMode(TInt)
//! @SYMAuthor                  Wekey Weng
//! @SYMCreationDate            12/29/2007
//! @SYMTestCaseDesc            Negative test, gets the display mode for mode 1000(too big)
//! @SYMTestActions             1. Create and connect a RWsSession
//!                             2. Create a CWsScreenDevice attached to RWsSession
//!                             3. Complete the construction
//!                             4. Get the display mode for mode 1000(too big)
//!                             5. Destruct and close all objects used
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     WSERV 54 panic received at Test Action 4
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-WsScreenDevice-PublicAPI.ini
        CREATE_OBJECT           RWsSession        ws
        CREATE_OBJECT           CWsScreenDevice   scrdev
        COMMAND                 ws                new       
        COMMAND                 ws                Connect        
        COMMAND                 scrdev            new                           GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0317-0001-new_command03       
        COMMAND                 scrdev            Construct
        COMMAND                 scrdev            GetScreenModeDisplayMode      GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0317-0001-GetScreenModeDisplayMode_command05
        COMMAND                 scrdev            ~        
        COMMAND                 ws                Close       
    END_TEST_BLOCK              !PanicString=WSERV        !PanicCode=54
    RUN_TEST_STEP	100	T_GraphicsWservAPI	utilityClearPanicDlg    
END_TESTCASE                    GRAPHICS-WSERV-WsScreenDevice-PublicAPI-0317
