graphicsapitest/graphicssvs/bitgdi/scripts/GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.script
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsapitest/graphicssvs/bitgdi/scripts/GRAPHICS-BITGDI-FbsScreenDevice-PublicApi.script	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,1239 @@
+//
+// 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+