graphicsapitest/graphicssvs/bitgdi/scripts/GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.script
author Faisal Memon <faisal.memon@nokia.com>
Fri, 14 May 2010 15:41:33 +0100
branchNewGraphicsArchitecture
changeset 64 5c983aa672ea
parent 0 5d03bc08d59c
permissions -rw-r--r--
Merge 1. Pull in cpp files in the performance enhanced Khronos RI OVG files which are newly added. I've ignored platform-specific cpp files for linux, macosx, and null operating systems because this local solution has its own platform glue (i.e. facility to target Bitmaps but no full windowing support). I've ignored sfEGLInterface.cpp because this is used as a bridge to go from EGL to Nokia's Platsim which offers an EGL service. That's not relevant to this implementation because this is ARM side code, not Intel side. I just left a comment to sfEGLInterface.cpp in case we need to pick up this later on. The current code compiles on winscw. Prior to this fix, the code works on winscw, and can launch the SVG tiger (tiger.exe). That takes about 20 seconds to render. I hope to always be able to show this icon on each commit, and the plan is for the render time to reduce with this series of submissions. On this commit, the tiger renders ok in 20 seconds.

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

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


LOAD_SUITE      T_GraphicsBitGDIAPI
DELAY           1000

// ****************************************************************************
// Class Name		CFbsScreenDevice
// ****************************************************************************

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0001
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0001
//! @SYMAPI                 	CFbsScreenDevice::NewL(const TDesC{ref}, TDisplayMode)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Create CFbsScreenDevice object by using NewL(const TDesC{ref}, TDisplayMode) and destroy it.
//! @SYMTestActions         	1.Create CFbsScreenDevice Object by using TDesC{ref} and TDisplayMode params.
//!								2.destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	CFbsScreenDevice was created without causing panic.
//! @SYMTestType            	CIT

    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice 	fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 	rfbssession
        COMMAND					rfbssession			Constructor
        COMMAND					rfbssession			Connect
        COMMAND             	fbsscrdev           NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0001-NewL_command03
        COMMAND             	fbsscrdev			~
        COMMAND					rfbssession			Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0001

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0002
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0002
//! @SYMAPI                 	CFbsScreenDevice::NewL(const TDesC{ref}, TDisplayMode)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Negtive case, create the CFbsScreenDevice object with a bad TDisplayMode arguments.
//! @SYMTestActions         	1.create CFbsScreenDevice object with a bad TDisplayMode.
//!								2.destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	NewL(const TDesC{ref}, TDisplayMode) is called with KErrNotSupported returned.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice 	fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 	rfbssession
        COMMAND					rfbssession			Constructor
        COMMAND					rfbssession			Connect
        COMMAND  !Error=-5  	fbsscrdev           NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0002-NewL_command03        
        COMMAND             	fbsscrdev			~
        COMMAND					rfbssession			Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0002

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0003
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0003
//! @SYMAPI                 	CFbsScreenDevice::NewL(const TDesC{ref}, TDisplayMode, TRgb)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Create CFbsScreenDevice object by using NewL(const TDesC{ref}, TDisplayMode, TRgb) and destory it.
//! @SYMTestActions         	1.Create CFbsScreenDevice object by NewL(const TDesC{ref}, TDisplayMode, TRgb).
//!								2.destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	CFbsScreenDevice was created without causing panic.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice 	fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 	rfbssession
        COMMAND					rfbssession			Constructor
        COMMAND					rfbssession			Connect
        COMMAND             	fbsscrdev           NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0003-NewL_command03
        COMMAND             	fbsscrdev			~
        COMMAND					rfbssession			Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0003

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0004
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0004
//! @SYMAPI                 	CFbsScreenDevice::NewL(const TDesC{ref}, TDisplayMode, TRgb)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Negtive case, create CFbsScreenDevice object with bad TDisplayMode arguments
//! @SYMTestActions        	 	1.create CFbsScreenDevice object with a bad TDisplayMode.
//!								2.destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	NewL(const TDesC{ref}, TDisplayMode, TRgb) is called with KErrNotSupported returned.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice 	fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 	rfbssession
        COMMAND					rfbssession			Constructor
        COMMAND					rfbssession			Connect
        COMMAND  !Error=-5  	fbsscrdev           NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0004-NewL_command03
        COMMAND					rfbssession			Disconnect
        COMMAND             	fbsscrdev			~
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0004

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0005
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0005
//! @SYMAPI                 	CFbsScreenDevice::NewL(TInt, TDisplayMode)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Create CFbsScreenDevice object by using NewL(TInt, TDisplayMode) method and destroy it.
//! @SYMTestActions         	1.create CfbsScreenDevice object by NewL(TInt, TDisplayMode) method.
//!								2.destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	CFbsScreenDevice was created without causing panic.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0005-NewL_command03
        COMMAND             	fbsscrdev	     ~
        COMMAND					rfbssession		 Disconnect       
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0005

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0006
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0006
//! @SYMAPI                 	CFbsScreenDevice::NewL(TInt, TDisplayMode)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Negtive case, create CFbsScreenDevice object with bad aScreenNo argument
//! @SYMTestActions         	1.create CFbsScreenDevice object with bad aScreenNo argument.
//!								2.destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	NewL(TInt, TDisplayMode) is called with KErrNotSupported returned.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT      	 	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND  !Error=-5  	fbsscrdev        NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0006-NewL_command03
        COMMAND					rfbssession		 Disconnect
        COMMAND             	fbsscrdev	     ~
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0006

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0007
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0007
//! @SYMAPI                 	CFbsScreenDevice::NewL(TInt, TDisplayMode)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc       	 	Negtive case, create CFbsScreenDevice object with bad aDispMode argument
//! @SYMTestActions         	1.create CFbsScreenDevice object with bad aDispMode argument.
//!								2.destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	NewL(TInt, TDisplayMode) is called with KErrNotSupported returned.
//! @SYMTestType           	 	CIT
    START_TEST_BLOCK   			10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT   	    RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND  !Error=-5	  	fbsscrdev        NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0007-NewL_command03
        COMMAND					rfbssession		 Disconnect
        COMMAND     	        fbsscrdev	     ~
     END_TEST_BLOCK
END_TESTCASE		GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0007

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0008
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0008
//! @SYMAPI                     CFbsScreenDevice::~CFbsScreenDevice()
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            03/12/2008
//! @SYMTestCaseDesc            Create a CFbsScreenDevice attached to a RFbsSession and destruct it.
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Destruct the CFbsScreenDevice object
//!                             4. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     CFbsScreenDevice was destructed without causing panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0008-NewL_command03
        COMMAND             	fbsscrdev	     ~
        COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK   
END_TESTCASE            GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0008

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0009
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0009
//! @SYMAPI                 	CFbsScreenDevice::HardwareBitmap()
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Create a CFbsScreenDevice object and get the handle from HardwareBitmap() function.
//! @SYMTestActions         	1.Create a CFbsScreenDevice attached to RFbsSession.
//!								2.Get the handle from CFbsScreenDevice::HardwareBitmap() function.
//!								3.Destroy all objects.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	HardwareBitmap() is called without panic.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL     			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0009-NewL_command03
        COMMAND             	fbsscrdev		 HardwareBitmap 
        COMMAND             	fbsscrdev		 ~
        COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 		GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0009

START_TESTCASE 		GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0010
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0010
//! @SYMAPI                 	CFbsScreenDevice::Update()
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Draw a line on the CFbsScreenDevice object and update the screen.
//! @SYMTestActions         	1. Create CFbsScreenDevice attached to RFbsSession.
//!								2. Create CFbsBitGc and attached to CFbsScreenDevice.
//!								3. Clear the screen.
//!								4. Draw a line from (20,20) to (60,60) on to the screen device.
//!								5. Update the screen device.
//!								6. Verify the color of the Pixels (20,20) (40,40) and (59,59), the color is Black.
//!								7. Destroy all objects.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	Update() is called without panic and the color of the pixels is as expected.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10  T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        CREATE_OBJECT			CFbsBitGc		 fbsbitgc
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL    		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0010-NewL_command03
        COMMAND					fbsbitgc		 NewL
        COMMAND					fbsbitgc		 Activate		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0010-Activate_command05 			
        COMMAND					fbsbitgc		 Clear
        COMMAND					fbsbitgc		 DrawLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0010-DrawLine_command07
        COMMAND             	fbsscrdev		 Update 	
        COMMAND					fbsscrdev		 checkPixels	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0010-checkPixels_command09
        COMMAND             	fbsscrdev		 ~
 		COMMAND					fbsbitgc		 ~	
 		COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0010

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0011
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0011
//! @SYMAPI                 	CFbsScreenDevice::Update(const TRegion{ref})
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Draw a line on the CFbsScreenDevice object and update a region on the screen.
//! @SYMTestActions        		1. Create CFbsScreenDevice attached to RFbsSession.
//!								2. Create CFbsBitGc and attached to CFbsScreenDevice.
//!								3. Clear the screen.
//!								4. Draw a line from (20,20) to (60,60) on to the screen device.
//!								5. Update a region (20,20),(70,70) on the screen device.
//!								6. Verify the color of the Pixels (20,20) (40,40) and (59,59), the color is Black.
//!								7. Destroy all objects.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	Update() is called without panic and the color of the pixels is as expected.
//! @SYMTestType            	CIT
	START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        CREATE_OBJECT			CFbsBitGc		 fbsbitgc
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL    		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0011-NewL_command03
        COMMAND					fbsbitgc		 NewL
        COMMAND					fbsbitgc		 Activate		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0011-Activate_command05 			
        COMMAND					fbsbitgc		 Clear
        COMMAND					fbsbitgc		 DrawLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0011-DrawLine_command07
        COMMAND             	fbsscrdev		 Update 		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0011-Update_command08
        COMMAND					fbsscrdev		 checkPixels	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0011-checkPixels_command09
        COMMAND             	fbsscrdev		 ~
 		COMMAND					fbsbitgc		 ~	
 		COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE		 	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0011

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0012
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0012
//! @SYMAPI                 	CFbsScreenDevice::SetAutoUpdate(TBool)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Set EFalse to SetAutoUpdate and draw a line onto the device.
//! @SYMTestActions         	1. Create CFbsScreenDevice attached to RFbsSession.
//!								2. Create CFbsBitGc and attached to CFbsScreenDevice.
//!								3. Clear the screen.
//!								4. Set EFalse to SetAutoUpdate().
//!								5. Draw a line from (50,20) to (56,20) on the screen device.
//!								6. Verify the color of the Pixels (50,20)(53,20) and (54,20).
//!								7. Update the screen device.
//!								8. Verify the color of the Pixels (50,20)(53,20) and (54,20).
//!								9. Destroy all object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	SetAutoUpdate(EFalse) is called without panic and the color of the pixels is as expected.
//! @SYMTestType            	CIT
	START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        CREATE_OBJECT			CFbsBitGc		 fbsbitgc
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL    		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0012-NewL_command03
        COMMAND					fbsbitgc		 NewL
        COMMAND					fbsbitgc		 Activate		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0012-Activate_command05 			
        COMMAND					fbsscrdev		 SetAutoUpdate  GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0012-SetAutoUpdate_command06	
        COMMAND					fbsbitgc		 Clear
        COMMAND					fbsbitgc		 SetPenColor	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0012-SetPenColor_command08
        COMMAND					fbsbitgc		 DrawLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0012-DrawLine_command09
        COMMAND					fbsscrdev		 checkPixels	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0012-checkPixels_command10
        COMMAND					fbsscrdev		 Update
        COMMAND					fbsscrdev		 checkPixels	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0012-checkPixels_command12
        COMMAND             	fbsscrdev		 ~
 		COMMAND					fbsbitgc		 ~	
        COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0012

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0013
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0013
//! @SYMAPI                 	CFbsScreenDevice::SetAutoUpdate(TBool)
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Set ETrue to SetAutoUpdate and draw a line onto the device.
//! @SYMTestActions         	1. Create CFbsScreenDevice attached to RFbsSession.
//!								2. Create CFbsBitGc and attached to CFbsScreenDevice.
//!								3. Clear the screen.
//!								4. Set ETrue to SetAutoUpdate().
//!								5. Draw a line from (20,20) to (50,60) on the screen device.
//!								6. Verify the color of the Pixels (20,20)(35,40) and (50,60).
//!								7. Update the screen device.
//!								8. Verify the color of the Pixels (20,20)(35,40) and (50,60).
//!								9. Destroy all object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	SetAutoUpdate(ETrue) is called without panic and the color of the pixels is as expected.
//! @SYMTestType            	CIT
	START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        CREATE_OBJECT			CFbsBitGc		 fbsbitgc
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL    		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0013-NewL_command03
        COMMAND					fbsbitgc		 NewL
        COMMAND					fbsbitgc		 Activate		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0013-Activate_command05 			
        COMMAND					fbsscrdev		 SetAutoUpdate  GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0013-SetAutoUpdate_command06	
        COMMAND					fbsbitgc		 DrawLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0013-DrawLine_command07
        COMMAND					fbsscrdev		 checkPixels	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0013-checkPixels_command08
        COMMAND             	fbsscrdev		 ~
 		COMMAND					fbsbitgc		 ~	
 		COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0013

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0014
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0014
//! @SYMAPI                 	CFbsScreenDevice::DrawSpriteBegin()
//!								CFbsScreenDevice::DrawSpriteEnd()
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Create CFbsScreenDevice object and test DrawSpriteBegin and DrawSpriteEnd.
//! @SYMTestActions         	1. Create CFbsScreenDevice attached to RFbsSession.
//!								2. Begin draw sprite on the device.
//!								3. End draw sprite on the device.
//!								4. Destroy all objects.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	DrawSpriteBegin() & DrawSpriteEnd() are called without panic.
//! @SYMTestType            	CIT
	START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL             GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0014-NewL_command03			
        COMMAND					fbsscrdev		 DrawSpriteBegin  	
        COMMAND					fbsscrdev		 DrawSpriteEnd		        
        COMMAND             	fbsscrdev		 ~	
        COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0014

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0015
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0015
//! @SYMAPI                 	CFbsScreenDevice::ChangeScreenDevice(CFbsScreenDevice{ptr})
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	03/12/2008
//! @SYMTestCaseDesc        	Create two CFbsScreenDevice Objects and changescreendevice with each other.
//! @SYMTestActions        	 	1. Create CFbsScreenDevice1 and attach to CFbssession.
//!								2. Create CFbsScreenDevice2 and attach to CFbssession.
//!								3. Replace CFbsScreenDevice1 with CFbsScreenDevice2.
//!								4. Destroy all object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	ChangeScreenDevice() is called without panic.
//! @SYMTestType            	CIT
	START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev1
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev2
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev1       NewL				  GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0015-NewL_command03			
        COMMAND					fbsscrdev2       NewL             	  GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0015-NewL_command04				
        COMMAND					fbsscrdev2		 ChangeScreenDevice	  GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0015-ChangeScreenDevice_command05 						        
        COMMAND             	fbsscrdev1		 ~
        COMMAND             	fbsscrdev2		 ~	
        COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0015

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0016
//! @SYMTestCaseID          GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0016
//! @SYMAPI                 CFbsScreenDevice::ChangeScreenDevice(CFbsScreenDevice{ptr})
//! @SYMAuthor              Wei Liu
//! @SYMCreationDate        03/12/2008
//! @SYMTestCaseDesc        Negtive case, create CFbsScreenDevice object connected to RFbsSession.
//!							ChangeScreenDevice with bad CFbsScreenDevice pointer.
//!							Destroy all objects.
//! @SYMTestActions         1. create CFbsScreenDevice object.
//!							2. connect CFbsScreenDevice to RFbsSession object
//!							3. change device with a bad pointer.
//!							4. destroy all objects.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults ChangeScreenDevice() is called without error.
//! @SYMTestType            CIT
  	START_TEST_BLOCK   10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
       	CREATE_OBJECT       CFbsScreenDevice fbsscrdev1
       	CREATE_OBJECT       CFbsScreenDevice fbsscrdev2
       	CREATE_OBJECT       RFbsSession 	 rfbssession
		COMMAND				rfbssession		 Constructor
		COMMAND				rfbssession		 Connect
		COMMAND				fbsscrdev2       NewL             		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0016-NewL_command03	
		COMMAND				fbsscrdev2		 ChangeScreenDevice	  	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0016-ChangeScreenDevice_command04 								
		COMMAND             fbsscrdev2		 ~	     
		COMMAND				rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE	 	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0016

START_TESTCASE 		GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0017
//! @SYMTestCaseID          GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0017
//! @SYMAPI                 CFbsScreenDevice::ChangeScreenDevice(CFbsScreenDevice{ptr})
//! @SYMAuthor              Wei Liu
//! @SYMCreationDate        04/12/2008
//! @SYMTestCaseDesc        Negtive case, create CFbsScreenDevice object and attach to RFbsSession object.
//!							ChangeScreenDevice with itself.
//!							Destroy all objects.
//! @SYMTestActions         1. create CFbsScreenDevice and attach to RFbsSession.
//!							2. changeScreenDevice with itself.
//!							3. destroy all objects.
//! @SYMTestStatus          Implemented
//! @SYMTestPriority        High
//! @SYMTestExpectedResults ChangeScreenDevice() is called without error.
//! @SYMTestType            CIT
  	START_TEST_BLOCK   10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
       	CREATE_OBJECT       CFbsScreenDevice fbsscrdev
       	CREATE_OBJECT       RFbsSession 	 rfbssession
		COMMAND				rfbssession		 Constructor
		COMMAND				rfbssession		 Connect
		COMMAND				fbsscrdev        NewL             		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0017-NewL_command03	
		COMMAND				fbsscrdev		 ChangeScreenDevice	  	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0017-ChangeScreenDevice_command04 								
		COMMAND             fbsscrdev		 ~	     
		COMMAND				rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE	 		GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0017

START_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0018
//! @SYMTestCaseID         		GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0018
//! @SYMAPI                 	CFbsScreenDevice::CancelSprite()
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	04/12/2008
//! @SYMTestCaseDesc        	Create CFbsScreenDevice object and attach to RFbsSession.
//!								Begin to draw a sprite and cancel it.
//! @SYMTestActions         	1. create CFbsScreenDevice attached to RFbsSession.
//!								2. Begin to draw a sprite.
//!								3. Cancel draw sprite.
//!								4. destroy all object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	DrawSpriteBegin() & CancelSprite() are called without panic.
//! @SYMTestType            	CIT
	START_TEST_BLOCK   10   	T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL             		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0018-NewL_command03				
        COMMAND					fbsscrdev		 DrawSpriteBegin  	
        COMMAND					fbsscrdev		 CancelSprite		
        COMMAND             	fbsscrdev		 ~	
        COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 			GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0018

START_TESTCASE              	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0019
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0019
//! @SYMAPI                 	CFbsScreenDevice::GetPixel(TRgb{ref}, const TPoint{ref}) const
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	04/12/2008
//! @SYMTestCaseDesc        	Gets color of specified point of screen
//! @SYMTestActions         	1. Creates and connects a RFbsSession
//!                         	2. Creates a CFbsScreenDevice attached to a RFbsSession
//!                         	3. Gets pixel at point(1, 1) to verify the color of pixel is white
//!                         	4. Destructs the CFbsScreenDevice object
//!                         	5. Closes the CFbsScreenDevice object
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	The color of specified point matchs with expected value. 
//! @SYMTestType            	CIT
    START_TEST_BLOCK        	10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	RFbsSession        rfbssession
        CREATE_OBJECT       	CFbsScreenDevice   fbsscrdev
        COMMAND             	rfbssession        Constructor       
        COMMAND             	rfbssession        Connect        
        COMMAND             	fbsscrdev          NewL         GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0019-NewL_command03
        COMMAND             	fbsscrdev          GetPixel     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0019-GetPixel_command04
        COMMAND             	fbsscrdev          ~ 
        COMMAND             	rfbssession        Disconnect
    END_TEST_BLOCK    
END_TESTCASE                GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0019

START_TESTCASE              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0020
//! @SYMTestCaseID      	    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0020
//! @SYMAPI            	    	CFbsScreenDevice::GetPixel(TRgb{ref}, const TPoint{ref})
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate    	    04/12/2008
//! @SYMTestCaseDesc 	       Negtive case, Test for negative x- and y-coordinate/too big x- and y-coordinate.
//! @SYMTestActions         	1. Creates and connects a RFbsSession
//!                     	    2. Creates a CFbsScreenDevice attached to a RFbsSession 
//!             	            3. Gets pixel at point(-1, 0) and check the RGB color is white.
//!           	              	4. Gets pixel at point(0, -1) and check the RGB color is white.
//!                         	5. Gets pixel at point(-1, -1) and check the RGB color is white.
//!                     	    6. Gets pixel at point(10000, 0) and check the RGB color is white.
//!                  	      	7. Gets pixel at point(0, 10000) and check the RGB color is white.
//!                         	8. Gets pixel at point(10000, 10000) and check the RGB color is white.
//!                        	 	9. Destruct and close all objects used.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	GetPixel doesn't cause panic and matchs with the expected color.
//! @SYMTestType            	CIT
   START_TEST_BLOCK         	10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT   	    RFbsSession        rfbssession
        CREATE_OBJECT   	    CFbsScreenDevice   fbsscrdev
        COMMAND         	    rfbssession        Constructor       
        COMMAND         	    rfbssession        Connect        
        COMMAND         	    fbsscrdev          NewL         GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0020-NewL_command03				  
        COMMAND        			fbsscrdev          GetPixel     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0020-GetPixel_command04
        COMMAND         		fbsscrdev          GetPixel     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0020-GetPixel_command05
        COMMAND       		  	fbsscrdev          GetPixel     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0020-GetPixel_command06
        COMMAND         		fbsscrdev          GetPixel     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0020-GetPixel_command07
        COMMAND         		fbsscrdev          GetPixel     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0020-GetPixel_command08
        COMMAND         		fbsscrdev          GetPixel     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0020-GetPixel_command09
        COMMAND     	        fbsscrdev          ~        
        COMMAND 	            rfbssession        Disconnect
   END_TEST_BLOCK
END_TESTCASE                	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0020

START_TESTCASE                 	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0021
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0021
//! @SYMAPI                     CFbsScreenDevice::HorizontalPixelsToTwips(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Translates a horizontal dimension of a screen device in pixels into twips
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates a horizontal dimension pixels into twips 
//!                             4. Destruct the CFbsScreenDevice object
//!                             5. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     HorizontalPixelsToTwips doesn't cause panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI       \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect        
        COMMAND                 fbsscrdev         NewL         			   GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0021-NewL_command03                    
        COMMAND                 fbsscrdev         HorizontalPixelsToTwips  GRAPHICS-WSERV-WsScreenDevice-PublicApi-0021-HorizontalPixelsToTwips_command04              
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession       Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0021

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0022
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0022
//! @SYMAPI                     CFbsScreenDevice::HorizontalPixelsToTwips(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negitve case, Uses big pixels/0/small negative pixels
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates three horizontal dimension in pixels into twips 
//!                             4. Input pixel = 64000000, return 1774789 for emulator and 892600000 for H4.
//!                             5. Input pixel = 0, return 0.
//!                             6. Input pixel = -64000000, return -1774788 for emulator and -892599999 for H4.
//!                             7. Destruct the CFbsScreenDevice object
//!                             8. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     HorizontalPixelsToTwips doesn't cause panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	RFbsSession       rfbssession
        CREATE_OBJECT      		CFbsScreenDevice  fbsscrdev
        COMMAND             	rfbssession       Constructor       
        COMMAND             	rfbssession       Connect          
        COMMAND                 fbsscrdev         NewL           		   GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0022-new_command03                      
        COMMAND                 fbsscrdev         HorizontalPixelsToTwips  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0022-HorizontalPixelsToTwips_command04
        COMMAND                 fbsscrdev         HorizontalPixelsToTwips  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0022-HorizontalPixelsToTwips_command05
        COMMAND                 fbsscrdev         HorizontalPixelsToTwips  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0022-HorizontalPixelsToTwips_command06
        COMMAND                 fbsscrdev            ~        
        COMMAND                 rfbssession       Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0022

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0023
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0023
//! @SYMAPI                     CFbsScreenDevice::VerticalPixelsToTwips(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Translates a vertical dimension of a screen device in pixels into twips
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates a vertical dimension pixels into twips 
//!                             4. Destruct the CFbsScreenDevice object
//!                             5. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     VerticalPixelsToTwips doesn't cause panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         			   GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0023-NewL_command03                                
        COMMAND                 fbsscrdev         VerticalPixelsToTwips    GRAPHICS-WSERV-WsScreenDevice-PublicApi-0023-VerticalPixelsToTwips_command04             
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession       Disconnect      
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0023

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0024
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0024
//! @SYMAPI                     CFbsScreenDevice::VerticalPixelsToTwips(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Uses big pixels/0/small negative pixels
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates three vertical dimension in pixels into twips 
//!                             4. Input pixel = 1200000, return 1404698 for emulator and 304100000 for H4.
//!                             5. Input pixel = 0, return 0.
//!                             6. Input pixel = -1200000, return -1404697 for emulator and -304099999 for H4.
//!                             7. Destruct the FbsScreenDevice object
//!                             8. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     VerticalPixelsToTwips doesn't cause panic and the returned twips are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	RFbsSession       rfbssession
        CREATE_OBJECT      		CFbsScreenDevice  fbsscrdev
        COMMAND             	rfbssession       Constructor       
        COMMAND             	rfbssession       Connect       
        COMMAND                 fbsscrdev         NewL          		 GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0024-new_command03                        
        COMMAND                 fbsscrdev         VerticalPixelsToTwips  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0024-VerticalPixelsToTwips_command04
        COMMAND                 fbsscrdev         VerticalPixelsToTwips  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0024-VerticalPixelsToTwips_command05
        COMMAND                 fbsscrdev         VerticalPixelsToTwips  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0024-VerticalPixelsToTwips_command06
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession       Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0024

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0025
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0025
//! @SYMAPI                     CFbsScreenDevice::HorizontalTwipsToPixels(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Translates a horizontal dimension of a screen device in twips into pixels
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates a horizontal dimension twips into pixels 
//!                             4. Destruct the CFbsScreenDevice object
//!                             5. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     HorizontalTwipsToPixels doesn't cause panic and the returned pixels are as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         			   GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0025-NewL_command03                                
        COMMAND                 fbsscrdev         HorizontalTwipsToPixels  GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0025-HorizontalTwipsToPixels_command04              
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession       Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0025

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0026
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0026
//! @SYMAPI                     CFbsScreenDevice::HorizontalTwipsToPixels(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Uses big twips/0/small negative twips
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates three horizontal dimension in twips into pixels
//!                             4. Input twips = 1774789, return 64000000 for emulator and 54635895 for H4.
//!                             5. Input twips = 0, return 0.
//!                             6. Input twips = -1774789, return -63999999 for emulator and -54635894 for H4.
//!                             7. Destruct the CFbsScreenDevice object
//!                             8. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     HorizontalTwipsToPixels doesn't cause panic and the returned pixels are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	RFbsSession       rfbssession
        CREATE_OBJECT      		CFbsScreenDevice  fbsscrdev
        COMMAND             	rfbssession       Constructor       
        COMMAND             	rfbssession       Connect           
        COMMAND                 fbsscrdev         NewL          		   GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0026-new_command03                          
        COMMAND                 fbsscrdev         HorizontalTwipsToPixels  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0026-HorizontalTwipsToPixels_command04
        COMMAND                 fbsscrdev         HorizontalTwipsToPixels  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0026-HorizontalTwipsToPixels_command05
        COMMAND                 fbsscrdev         HorizontalTwipsToPixels  GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0026-HorizontalTwipsToPixels_command06
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession       Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0026

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0027
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0027
//! @SYMAPI                     CFbsScreenDevice::VerticalTwipsToPixels(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Translates a vertical dimension of a screen device in twips into pixels
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates a vertical dimension twips into pixels 
//!                             4. Destruct the CFbsScreenDevice object
//!                             5. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     VerticalTwipsToPixels doesn't cause panic and the returned pixels are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         			   GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0027-NewL_command03                                
        COMMAND                 fbsscrdev         VerticalTwipsToPixels    GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0027-VerticalTwipsToPixels_command04             
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession       Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0027

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0028
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0028
//! @SYMAPI                     CFbsScreenDevice::VerticalTwipsToPixels(TInt)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Uses big twips/0/small negative twips
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Translates three vertical dimension in twips into pixels
//!                             4. Input twips = 1404698, return 12000000 for emulator and 22555738 for H4.
//!                             5. Input twips = 0, return 0.
//!                             6. Input twips = -1404698, return -11999999 for emulator and -22555737 for H4.
//!                             7. Destruct the CFbsScreenDevice object
//!                             8. Disconnect the RFbsSession object
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            Critical
//! @SYMTestExpectedResults     VerticalTwipsToPixels doesn't cause panic and the returned pixels are as expected
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	RFbsSession       rfbssession
        CREATE_OBJECT      		CFbsScreenDevice  fbsscrdev
        COMMAND             	rfbssession       Constructor       
        COMMAND             	rfbssession       Connect           
        COMMAND                 fbsscrdev         NewL          		   	GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0028-new_command03                                              
        COMMAND                 fbsscrdev         VerticalTwipsToPixels  	GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0028-VerticalTwipsToPixels_command04
        COMMAND                 fbsscrdev         VerticalTwipsToPixels  	GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0028-VerticalTwipsToPixels_command05
        COMMAND                 fbsscrdev         VerticalTwipsToPixels  	GRAPHICS-BitGDI-CFbsScreenDevice-PublicApi-0028-VerticalTwipsToPixels_command06
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession       Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0028

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0029
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0029
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Gets a scanline into a buffer
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!                             3. Create a CFbsBitGc object.
//!                             4. Draw a line from (25,25) to (45,25) on CFbsBitGc.
//!                             5. Get scanline from screen and verify the pixels just drawed.
//!                             6. Disconnect and destruct 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 Black).
//! @SYMTestType                CIT
        START_TEST_BLOCK        10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        CREATE_OBJECT           CFbsBitGc         fbsbitgc
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0029-NewL_command03       
		COMMAND					fbsbitgc		  NewL				
		COMMAND					fbsbitgc		  Activate			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0029-Activate_command05
		COMMAND					fbsbitgc		  DrawLine			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0029-DrawLine_command06
		COMMAND					fbsscrdev		  Update
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0029-GetScanLine_command08
		COMMAND					fbsscrdev		  ~
		COMMAND					fbsbitgc		  ~
		COMMAND					rfbssession		  Disconnect
		END_TEST_BLOCK 
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0029

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0030
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0030
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negative test, uses a zero-length buffer.
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!                             3. Get scanline from screen.
//!                             4. Disconnect and destruct all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetScanLine is called without panic. 
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0030-NewL_command03        				
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0030-GetScanLine_command04
		COMMAND					fbsscrdev		  ~	
		COMMAND					rfbssession		  Disconnect
	END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0030

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0031
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0031
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Test for a zero-length scanline.
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!                             3. Get scanline from screen.
//!                             4. Disconnect and destruct all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetScanLine is called without panic. 
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0031-NewL_command03        			
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0031-GetScanLine_command04
		COMMAND					fbsscrdev		  ~
		COMMAND					rfbssession		  Disconnect
	END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0031

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0032
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0032
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Test for a negative-length scanline.
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!                             3. Get scanline from screen.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetScanLine is called with USER 23 panic received. 
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0032-NewL_command03        			
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0032-GetScanLine_command04
   END_TEST_BLOCK	 !PanicString=USER !PanicCode=23
   RUN_TEST_STEP				100	T_GraphicsBitGDIAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0032

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0033
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0033
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Test for a 99999-length scanline with starting point (0, 0).
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!                             3. Get scanline from screen.
//!                             4. Disconnect and destruct all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetScanLine is called without panic. 
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0033-NewL_command03        			
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0033-GetScanLine_command04
		COMMAND					fbsscrdev		  ~
		COMMAND					rfbssession		  Disconnect
	END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0033

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0034
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0034
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Test for a 10-length scanline with negative starting point (-1, -1).
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!								3. Create CFbsBitGc object.
//!								4. Clear screen
//!                             5. Get scanline from screen.
//!                             6. Disconnect and destruct all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetScanLine is called without any panic.
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        CREATE_OBJECT			CFbsBitGc		  fbsbitgc
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0034-NewL_command03        			
		COMMAND					fbsbitgc		  NewL
		COMMAND					fbsbitgc		  Activate			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0034-Activate_command05
		COMMAND					fbsbitgc		  Clear				
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0034-GetScanLine_command07
		COMMAND					fbsscrdev		  ~
		COMMAND					fbsbitgc		  ~
		COMMAND					rfbssession		  Disconnect
	END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0034

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0035
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0035
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Test for a 10-length scanline with starting point (10000, 10000).
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!								3. Create CFbsBitGc object.
//!								4. Clear screen
//!                             5. Get scanline from screen.
//!                             6. Disconnect and destruct all objects used.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetScanLine doesn't cause panic.
//! @SYMTestType                CIT
   START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        CREATE_OBJECT			CFbsBitGc		  fbsbitgc
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0035-NewL_command03        			
		COMMAND					fbsbitgc		  NewL
		COMMAND					fbsbitgc		  Activate			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0035-Activate_command05
		COMMAND					fbsbitgc		  Clear
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0035-GetScanLine_command07
		COMMAND					fbsscrdev		  ~
		COMMAND					fbsbitgc		  ~	
		COMMAND					rfbssession		  Disconnect
	END_TEST_BLOCK
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0035

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0036
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0036
//! @SYMAPI                     CFbsScreenDevice::GetScanLine(TDes8{ref}, const TPoint{ref}, TInt, TDisplayMode)
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Negtive case, Test for a 10-length scanline with starting point (0, 0).
//! @SYMTestActions             1. Create and connect a RFbsSession.
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!                             3. Get scanline from screen.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     1. GetScanLine is called with BITGDI panic received. 
//!                             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_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0036-NewL_command03        			
		COMMAND					fbsscrdev		  GetScanLine		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0036-GetScanLine_command04
	END_TEST_BLOCK 		!PanicString=BITGDI !PanicCode=9
	RUN_TEST_STEP				100	T_GraphicsBitGDIAPI	utilityClearPanicDlg
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0036

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0037
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0037
//! @SYMAPI                     CFbsScreenDevice::PaletteAttributes(TBool{ref}, TInt{ref})
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Gets the attributes of the device's palette.
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession.
//!                             3. Call PaletteAttributes() method and verify the palette received.
//!                             4. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     PaletteAttributes retrieves expected values.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0037-NewL_command03      
        COMMAND                 fbsscrdev         PaletteAttributes     GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0037-PaletteAttributes_command04
        COMMAND                 fbsscrdev         ~        
        COMMAND					rfbssession		  Disconnect 
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0037

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0038
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0038
//! @SYMAPI                     CFbsScreenDevice::GetPalette(const CPalette{ptr})
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Sets the 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 RFbsSession
//!                             2. Create a Palette.
//!                             3. Create a CFbsScreenDevice attached to RFbsSession.
//!                             4. Set the palette with the existing palette.
//!                             5. Get the palette and verify whether it is the same as we set before.
//!                             6. Destruct and Close.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     GetPalette retrieves a palette as expected.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        CREATE_OBJECT           CPalette          palette
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0038-NewL_command03
        COMMAND                 palette           NewL                  GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0038-NewL_command04       
        COMMAND                 fbsscrdev         SetPalette            GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0038-SetPalette_command05      
        COMMAND                 fbsscrdev         GetPalette            GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0038-GetPalette_command06
        COMMAND                 palette           ~        
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession		  Disconnect   
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0038

START_TESTCASE              	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0039
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0039
//! @SYMAPI                 	CFbsScreenDevice::SetPalette(CPalette{ptr})
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	04/12/2008
//! @SYMTestCaseDesc        	Sets the 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 RFbsSession object
//!						    	2. Create CFbsScreenDevice Object.
//!								3. Create a Palette. 
//!                         	4. Set the Palette with the existing palette.
//!                         	5. Get the Palette and verify it with expected.
//!                         	6. Destruct and Close.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	SetPalette returns KErrNone. GetPalette retrieves a palette as expected.
//! @SYMTestType            	CIT
    START_TEST_BLOCK        	10    T_GraphicsBitGDIAPI     \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
     	CREATE_OBJECT     		CFbsScreenDevice fbsscrdev
        CREATE_OBJECT     		RFbsSession 	 rfbssession
        CREATE_OBJECT       	CPalette         palette
        COMMAND             	palette          NewL               GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0039-NewL_command01				
        COMMAND					rfbssession		 Constructor
        COMMAND			  		rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL             	GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0039-NewL_command04				
        COMMAND             	fbsscrdev        SetPalette         GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0039-SetPalette_command05      	
        COMMAND					fbsscrdev        GetPalette         GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0039-GetPalette_command06		
        COMMAND             	palette          ~
        COMMAND             	fbsscrdev		 ~
        COMMAND					rfbssession		 Disconnect	  
    END_TEST_BLOCK    
END_TESTCASE                GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0039

START_TESTCASE                  GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0040
//! @SYMTestCaseID              GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0040
//! @SYMAPI                     CFbsScreenDevice::SizeInTwips()
//! @SYMAuthor                  Wei Liu
//! @SYMCreationDate            04/12/2008
//! @SYMTestCaseDesc            Gets the size of the screen device area in twips
//! @SYMTestActions             1. Create and connect a RFbsSession
//!                             2. Create a CFbsScreenDevice attached to RFbsSession
//!                             3. Get the screen's size in twips and check it with expected.
//!                             4. Destruct the CWsScreenDevice object
//!                             5. Close the RFbsSession 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_GraphicsBitGDIAPI      \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT           RFbsSession       rfbssession
        CREATE_OBJECT           CFbsScreenDevice  fbsscrdev
        COMMAND                 rfbssession       Constructor       
        COMMAND                 rfbssession       Connect         
        COMMAND                 fbsscrdev         NewL         			GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0040-NewL_command03             
        COMMAND                 fbsscrdev         SizeInTwips
        COMMAND                 fbsscrdev         ~        
        COMMAND                 rfbssession		  Disconnect       
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0040

START_TESTCASE 					GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0041
//! @SYMTestCaseID          	GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0041
//! @SYMAPI                 	CFbsScreenDevice::ScreenNo()
//! @SYMAuthor              	Wei Liu
//! @SYMCreationDate        	04/12/2008
//! @SYMTestCaseDesc        	Create CFbsScreenDevice Object attached to RFbsSession .
//!								Check the number received from the ScreenNo function with expected.
//!								Destroy object.
//! @SYMTestActions         	1.Create CFbsScreenDevice Object attached to RFbsSession.
//!								2.Check the Screen number from ScreenNo() with expected.
//!								3.Destroy object.
//! @SYMTestStatus          	Implemented
//! @SYMTestPriority        	High
//! @SYMTestExpectedResults 	The number returned from ScreenNo() is as expected.
//! @SYMTestType            	CIT
    START_TEST_BLOCK   		10   T_GraphicsBitGDIAPI \graphics\GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.ini
        CREATE_OBJECT       	CFbsScreenDevice fbsscrdev
        CREATE_OBJECT       	RFbsSession 	 rfbssession
        COMMAND					rfbssession		 Constructor
        COMMAND					rfbssession		 Connect
        COMMAND             	fbsscrdev        NewL     		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0041-NewL_command03
        COMMAND             	fbsscrdev		 ScreenNo 		GRAPHICS-BITGDI-FbsScreenDevice-PublicApi-0041-ScreenNo_command04
        COMMAND             	fbsscrdev		 ~
        COMMAND					rfbssession		 Disconnect
     END_TEST_BLOCK
END_TESTCASE 		GRAPHICS-BitGDI-FbsScreenDevice-PublicApi-0041