graphicsapitest/graphicssvs/wserv/scripts/GRAPHICS-WSERV-Anim-PublicAPI.script
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsapitest/graphicssvs/wserv/scripts/GRAPHICS-WSERV-Anim-PublicAPI.script	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,798 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+//! @file
+//! @SYMTestSuiteName		GRAPHICS-WSERV-Anim-PublicApi
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+
+// ****************************************************************************
+// T_RAnimChild (Inherited to test protected members of RAnim) 
+// ****************************************************************************
+/////////////////////////////////////////////////////////////////////
+// GRAPHICS-WSERV-Anim-PublicAPI.script
+//
+// Tests all public elements of the RAnim 
+// classes as a means of confidence that the APIs work as expected.
+
+
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for RAnim
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE      T_GraphicsWservAPI
+DELAY           1000
+
+/////////////////////////////////////////////////////////////////////
+// RAnim class
+/////////////////////////////////////////////////////////////////////
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0001
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0001
+//! @SYMAPI                     RAnim::RAnim()
+//! @SYMAuthor                  Jeffery Zhao
+//! @SYMCreationDate            21-04-2008
+//! @SYMTestCaseDesc            Create a RAnim object by default constructor.
+//! @SYMTestActions             1. Create RAnim by default constructor.
+//!                             2. Close RAnim.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     RAnim object was created without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RAnim       anim
+        COMMAND                 anim        new
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0001
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0002
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0002
+//! @SYMAPI                     RAnim::RAnim(RAnimDll{ref})
+//! @SYMAuthor                  Jeffery Zhao
+//! @SYMCreationDate            21-04-2008
+//! @SYMTestCaseDesc            Create a RAnim object from a given animation DLL.
+//! @SYMTestActions             1. Create and connect a RWsSession.
+//!                             2. Create RAnimDll and Load an animation DLL.
+//!                             3. Create RAnim from this animation DLL.
+//!                             5. Destroy RAnimDll.
+//!                             6. Close RWsSession.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     RAnim object was created without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI        \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 animdll         new             GRAPHICS-WSERV-Anim-PublicAPI-0002-0001-new_Command03
+        COMMAND                 animdll         Load            GRAPHICS-WSERV-Anim-PublicAPI-0002-0001-Load_Command04
+        COMMAND                 anim            new             GRAPHICS-WSERV-Anim-PublicAPI-0002-0001-new_Command05
+        COMMAND                 animdll         Destroy
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0002
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0003
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0003
+//! @SYMAPI                     RAnim::RAnim();
+//!                             RAnim::Close()
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Create a RAnim object by default constructor, and then close it.
+//! @SYMTestActions             1. Create RAnim by default constructor.
+//!                             2. Close RAnim.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     RAnim object was created and closed without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RAnim       anim
+        COMMAND                 anim        new
+        COMMAND                 anim        Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0003
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0004
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0004
+//! @SYMAPI                     RAnim::RAnim();
+//!                             RAnim::Destroy()
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Create a RAnim object by default constructor, and then destroy it.
+//! @SYMTestActions             1. Create RAnim by default constructor.
+//!                             2. Destroy RAnim.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            Low
+//! @SYMTestExpectedResults     RAnim object was created and destroyed without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RAnim       anim
+        COMMAND                 anim        new
+        COMMAND                 anim        Destroy
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0004
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0005
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0005
+//! @SYMAPI                     RAnim::RAnim(RAnimDll{ref});
+//!                             RAnim::Close()
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Create a RAnim object from a given animation DLL, and then close it.
+//! @SYMTestActions             1. Create and connect a RWsSession.
+//!                             2. Create RAnimDll and Load an animation DLL.
+//!                             3. Create RAnim from this animation DLL.
+//!                             4. Close RAnim.
+//!                             5. Destroy RAnimDll.
+//!                             6. Close RWsSession.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     RAnim object was created and closed without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI        \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 animdll         new             GRAPHICS-WSERV-Anim-PublicAPI-0005-0001-new_Command03
+        COMMAND                 animdll         Load            GRAPHICS-WSERV-Anim-PublicAPI-0005-0001-Load_Command04
+        COMMAND                 anim            new             GRAPHICS-WSERV-Anim-PublicAPI-0005-0001-new_Command05
+        COMMAND                 anim            Close
+        COMMAND                 animdll         Destroy
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0005
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0006
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0006
+//! @SYMAPI                     RAnim::RAnim(RAnimDll{ref});
+//!                             RAnim::Destroy()
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Create a RAnim object from a given animation DLL, and then destroy it.
+//! @SYMTestActions             1. Create and connect a RWsSession.
+//!                             2. Create RAnimDll and Load an animation DLL.
+//!                             3. Create RAnim from this animation DLL.
+//!                             4. Destroy RAnim.
+//!                             5. Destroy RAnimDll.
+//!                             6. Close RWsSession.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            Low
+//! @SYMTestExpectedResults     RAnim object was created and destroyed without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI        \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 animdll         new             GRAPHICS-WSERV-Anim-PublicAPI-0006-0001-new_Command03
+        COMMAND                 animdll         Load            GRAPHICS-WSERV-Anim-PublicAPI-0006-0001-Load_Command04
+        COMMAND                 anim            new             GRAPHICS-WSERV-Anim-PublicAPI-0006-0001-new_Command05
+        COMMAND                 anim            Destroy
+        COMMAND                 animdll         Destroy
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0006
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0007
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0007
+//! @SYMAPI                     RAnim::Construct(const RWindowBase{ref}, TInt, const TDesC8{ref});
+//!                             RAnim::Close()
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Construct a RAnim object based on a window device, and then close it.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Complete construction of the RAnim based on created RWindow.
+//!                             8.  Retrieve last command.
+//!                             8.1 Send ECmdGetLast to plugin with CommandReply.
+//!                             8.2 Plugin send the parameters(Type,Params) of Construct to client through IPC package of CommandReply.
+//!                             8.3 Verify is the received IPC package is same with Construct, same Type, same Params.
+//!                             9.  Close RAnim.
+//!                             10. Destroy RAnimDll.
+//!                             11. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. RAnim Construct returns KErrNone.
+//!                             2. CommandReply received parameters are same with the parameters that used for Construct RAnim.
+//!                             3. RAnim object was closed without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-Construct_Command12
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0007-0001-CommandReply_Command13
+        COMMAND                 anim            Close
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0007
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0008
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0008
+//! @SYMAPI                     RAnim::Construct(const RWindowBase{ref}, TInt, const TDesC8{ref}, const TIpcArgs{ref});
+//!                             RAnim::Destroy()
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Construct a RAnim object with IPC arguments based on a window device and destroy server side animation object which created by CAnimDll::CreateInstanceL().
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Construct RAnim.
+//!                             7.1 Complete construction of the RAnim with parameters(Type,Params) based on created RWindow object.
+//!                             7.2 Plugin send the parameters(Type,Params) of Construct back to client through IPC package.
+//!                             7.3 Verify is the received IPC package is same with the parameters(Type,Params) of Construct.
+//!                             8.  Destroy RAnim.
+//!                             9.  Destroy RAnimDll.
+//!                             10. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. RAnim Construct returns KErrNone.
+//!                             2. Construct received parameters are same with the parameters that sent to plugin.
+//!                             3. RAnim object was destroyed without causing panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0008-0001-Construct_Command12
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0008
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0009
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0009
+//! @SYMAPI                     RAnim::Construct(const RWsSprite{ref}, TInt, const TDesC8{ref})
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Construct a RAnim object based on a sprite.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RWsSprite with a window server session.
+//!                             6.  Construct the RWsSprite.
+//!                             7.  Create 4 CFbsBitmaps and load bitmaps.
+//!                             8.  Append these CFbsBitmaps to the RWsSprite.
+//!                             9.  Set RWsSprites's position.
+//!                             10. Activate the RWsSprite.
+//!                             11. Create a RAnimDll and Load an animation DLL.
+//!                             12. Create a RAnim from this animation DLL.
+//!                             13. Complete construction of the RAnim based on created RWsSprite.
+//!                             14. Retrieve last command.
+//!                             14.1 Send ECmdGetLast to plugin with CommandReply.
+//!                             14.2 Plugin send the parameters(Type,Params) of Construct to client through IPC package of CommandReply.
+//!                             14.3 Verify is the received IPC package is same with Construct, same Type, same Params.
+//!                             15. Destroy RAnim.
+//!                             16. Destroy RAnimDll.
+//!                             17. Delete 4 CFbsBitmaps.
+//!                             18. Close RWsSprite.
+//!                             19. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. RAnim Construct returns KErrNone.
+//!                             2. CommandReply received parameters are same with the parameters that used for Construct RAnim.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           CFbsBitmap      mask1
+        CREATE_OBJECT           CFbsBitmap      bitmap1
+        CREATE_OBJECT           CFbsBitmap      bitmap2
+        CREATE_OBJECT           CFbsBitmap      bitmap3
+        CREATE_OBJECT           RWsSprite       sprite
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-SetAutoFlush_command08
+        COMMAND                 sprite          new                 GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-new_command09
+        COMMAND                 sprite          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Construct_command10
+        COMMAND                 mask1           new
+        COMMAND                 mask1           Load                GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Load_command12
+        COMMAND                 bitmap1         new
+        COMMAND                 bitmap1         Load                GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Load_command14
+        COMMAND                 sprite          AppendMember        GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-AppendMember_command15
+        COMMAND                 bitmap2         new
+        COMMAND                 bitmap2         Load                GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Load_command17
+        COMMAND                 sprite          AppendMember        GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-AppendMember_command18
+        COMMAND                 bitmap3         new
+        COMMAND                 bitmap3         Load                GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Load_command20
+        COMMAND                 sprite          AppendMember        GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-AppendMember_command21
+        COMMAND                 sprite          SetPosition         GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-SetPosition_command22
+        COMMAND                 sprite          Activate
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-new_Command24
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Load_Command25
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-new_Command26
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-Construct_Command27
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0009-0001-CommandReply_Command28
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 sprite          Close
+        COMMAND                 mask1           ~
+        COMMAND                 bitmap1         ~
+        COMMAND                 bitmap2         ~
+        COMMAND                 bitmap3         ~
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0009
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0010
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0010
+//! @SYMAPI                     RAnim::Construct(const RWsSprite{ref}, TInt, const TDesC8{ref}, const TIpcArgs{ref})
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Construct a RAnim object with IPC arguments based on a sprite.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RWsSprite with a window server session.
+//!                             6.  Construct the RWsSprite.
+//!                             7.  Create 4 CFbsBitmaps and load bitmaps.
+//!                             8.  Append these CFbsBitmaps to the RWsSprite.
+//!                             9.  Set RWsSprites's position.
+//!                             10. Activate the RWsSprite.
+//!                             11. Create a RAnimDll and Load an animation DLL.
+//!                             12. Create a RAnim from this animation DLL.
+//!                             13. Construct RAnim.
+//!                             13.1 Complete construction of the RAnim with parameters(Type,Params) based on created RWsSprite object.
+//!                             13.2 Plugin send the parameters(Type,Params) of Construct back to client through IPC package.
+//!                             13.3 Verify is the received IPC package is same with the parameters(Type,Params) of Construct.
+//!                             14. Destroy RAnim.
+//!                             15. Destroy RAnimDll.
+//!                             16. Delete 4 CFbsBitmaps.
+//!                             17. Close RWsSprite.
+//!                             18. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. RAnim Construct returns KErrNone.
+//!                             2. Construct received parameters are same with the parameters that sent to plugin.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           CFbsBitmap      mask1
+        CREATE_OBJECT           CFbsBitmap      bitmap1
+        CREATE_OBJECT           CFbsBitmap      bitmap2
+        CREATE_OBJECT           CFbsBitmap      bitmap3
+        CREATE_OBJECT           RWsSprite       sprite
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-SetAutoFlush_command08
+        COMMAND                 sprite          new                 GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-new_command09
+        COMMAND                 sprite          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Construct_command10
+        COMMAND                 mask1           new
+        COMMAND                 mask1           Load                GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Load_command12
+        COMMAND                 bitmap1         new
+        COMMAND                 bitmap1         Load                GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Load_command14
+        COMMAND                 sprite          AppendMember        GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-AppendMember_command15
+        COMMAND                 bitmap2         new
+        COMMAND                 bitmap2         Load                GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Load_command17
+        COMMAND                 sprite          AppendMember        GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-AppendMember_command18
+        COMMAND                 bitmap3         new
+        COMMAND                 bitmap3         Load                GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Load_command20
+        COMMAND                 sprite          AppendMember        GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-AppendMember_command21
+        COMMAND                 sprite          SetPosition         GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-SetPosition_command22
+        COMMAND                 sprite          Activate
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-new_Command24
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Load_Command25
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-new_Command26
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0010-0001-Construct_Command27
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 sprite          Close
+        COMMAND                 mask1           ~
+        COMMAND                 bitmap1         ~
+        COMMAND                 bitmap2         ~
+        COMMAND                 bitmap3         ~
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0010
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0011
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0011
+//! @SYMAPI                     RAnim::CommandReply(TInt)
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Send command to plugin, then get the last received command from plugin, to verify they are same command.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Complete construction of the RAnim based on created RWindow.
+//!                             8.  Send ECmdTestWithoutPara to plugin by CommandReply.
+//!                             9.  Send ECmdGetLast to plugin by CommandReply with ipc, and verify is the received ipc package is same with ECmdTestWithoutPara.
+//!                             10. Destroy RAnim.
+//!                             11. Destroy RAnimDll.
+//!                             12. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     CommandReply returns KErrNone.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-Construct_Command12
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-CommandReply_Command13
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0011-0001-CommandReply_Command14
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0011
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0012
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0012
+//! @SYMAPI                     RAnim::CommandReply(TInt, const TPtrC8{ref})
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Send a command and its arguments to plugin, then get the last received parameters from plugin, to verify they are same parameters.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Complete construction of the RAnim based on created RWindow.
+//!                             8.  Send ECmdTestWithPara and its arguments to plugin by CommandReply, and wait for a response.
+//!                             9.  Retrieve last command.
+//!                             9.1 Send ECmdGetLast to plugin with CommandReply.
+//!                             9.2 Plugin send the parameters(Opcode,Args) of first CommandReply to client through IPC package of this CommandReply.
+//!                             9.3 Verify is the received IPC package is same with the parameters(Opcode,Args) of first CommandReply.
+//!                             10. Destroy RAnim.
+//!                             11. Destroy RAnimDll.
+//!                             12. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. First CommandReply returns KErrNone.
+//!                             2. Second CommandReply received parameters are same with the parameters that used for first CommandReply.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-Construct_Command12
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-CommandReply_Command13
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0012-0001-CommandReply_Command14
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0012
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0013
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0013
+//! @SYMAPI                     RAnim::CommandReply(TInt, const TPtrC8{ref}, const TIpcArgs{ref})
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Send a command and its arguments to plugin, then get the last received parameters from plugin, to verify they are same parameters.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Complete construction of the RAnim based on created RWindow.
+//!                             8.  Send a command.
+//!                             8.1 Send ECmdTestWithPara and its arguments to plugin by CommandReply.
+//!                             8.2 Plugin send the parameters(Opcode,Args) of CommandReply to client through IPC package of this CommandReply.
+//!                             8.3 Verify is the received IPC package is same with the parameters(Opcode,Args) of this CommandReply.
+//!                             9.  Destroy RAnim.
+//!                             10. Destroy RAnimDll.
+//!                             11. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. CommandReply returns KErrNone.
+//!                             2. CommandReply received parameters are same with the parameters that sent to plugin.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-Construct_Command12
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0013-0001-CommandReply_Command13
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0013
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0014
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0014
+//! @SYMAPI                     RAnim::Command(TInt, const TPtrC8{ref})
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Send a command and its arguments to plugin, then get the last received parameters from plugin, to verify they are same parameters.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Complete construction of the RAnim based on created RWindow.
+//!                             8.  Send ECmdTestWithPara and its arguments to plugin by Command, and returns immediately.
+//!                             9.  Retrieve last command.
+//!                             9.1 Send ECmdGetLast to plugin by CommandReply.
+//!                             9.2 Plugin send the parameters(Opcode,Args) of Command to client through IPC package of CommandReply.
+//!                             9.3 Verify is the received IPC package is same with the parameters(Opcode,Args) of Command.
+//!                             10. Destroy RAnim.
+//!                             11. Destroy RAnimDll.
+//!                             12. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. Command was sent without panic.
+//!                             2. CommandReply received parameters are same with the parameters that used for RAnim::Command.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-Construct_Command12
+        COMMAND                 anim            Command             GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-Command_Command13
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0014-0001-CommandReply_Command14
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0014
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0015
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0015
+//! @SYMAPI                     RAnim::Command(TInt)
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Send a command to plugin, then get the last received command from plugin, to verify they are same command.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Complete construction of the RAnim based on created RWindow.
+//!                             8.  Send ECmdTestWithoutPara to plugin by Command, and returns immediately.
+//!                             9.  Send ECmdGetLast to plugin by CommandReply with ipc, and verify is the received ipc package is same with ECmdTestWithoutPara.
+//!                             10. Destroy RAnim.
+//!                             12. Destroy RAnimDll.
+//!                             12. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     Command was sent without panic.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-Construct_Command12
+        COMMAND                 anim            Command             GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-Command_Command13
+        COMMAND                 anim            CommandReply        GRAPHICS-WSERV-Anim-PublicAPI-0015-0001-CommandReply_Command14
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0015
+
+START_TESTCASE                  GRAPHICS-WSERV-Anim-PublicAPI-0016
+//! @SYMTestCaseID              GRAPHICS-WSERV-Anim-PublicAPI-0016
+//! @SYMAPI                     RAnim::AsyncCommandReply(TRequestStatus{ref}, TInt, const TIpcArgs{ref})
+//! @SYMAuthor                  Niandong Qiao
+//! @SYMCreationDate            10-03-2008
+//! @SYMTestCaseDesc            Sends a command and its arguments to plugin asynchronously, then get the last received parameters from plugin, to verify they are same parameters.
+//! @SYMTestActions             1.  Create and connect a RWsSession.
+//!                             2.  Create and construct RWindowGroup and RWindow.
+//!                             3.  Activate the RWindow.
+//!                             4.  SetAutoFlush to TRUE for the RWsSession.
+//!                             5.  Create a RAnimDll and Load an animation DLL.
+//!                             6.  Create a RAnim from this animation DLL.
+//!                             7.  Complete construction of the RAnim based on created RWindow.
+//!                             8.  Send ECmdTestWithoutPara to plugin by AsyncCommandReply with ipc, and verify is the received ipc package is same with ECmdTestWithoutPara.
+//!                             9.  Destroy RAnim.
+//!                             10. Destroy RAnimDll.
+//!                             11. Close RWsSession ,RWindowGroup and RWindow.
+//! @SYMTestStatus              Implemented
+//! @SYMTestPriority            High
+//! @SYMTestExpectedResults     1. Command was sent without panic.
+//!                             2. AsyncCommandReply received parameter are same with the opcode parameter that sent to plugin.
+//! @SYMTestType                CIT
+    START_TEST_BLOCK            10    T_GraphicsWservAPI      \graphics\GRAPHICS-WSERV-Anim-PublicAPI.ini
+        CREATE_OBJECT           RWsSession      ws
+        CREATE_OBJECT           RWindowGroup    wingrp
+        CREATE_OBJECT           RWindow         win
+        CREATE_OBJECT           RAnimDll        animdll
+        CREATE_OBJECT           RAnim           anim
+        COMMAND                 ws              new
+        COMMAND                 ws              Connect
+        COMMAND                 wingrp          new                 GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-new_command03
+        COMMAND                 wingrp          Construct           GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-Construct_command04
+        COMMAND                 win             new                 GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-new_command05
+        COMMAND                 win             Construct           GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-Construct_command06
+        COMMAND                 win             Activate
+        COMMAND                 ws              SetAutoFlush        GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-SetAutoFlush_command08
+        COMMAND                 animdll         new                 GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-new_Command09
+        COMMAND                 animdll         Load                GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-Load_Command10
+
+        COMMAND                 anim            new                 GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-new_Command11
+        COMMAND                 anim            Construct           GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-Construct_Command12
+        COMMAND                 anim            AsyncCommandReply   GRAPHICS-WSERV-Anim-PublicAPI-0016-0001-AsyncCommandReply_Command13
+        OUTSTANDING
+        COMMAND                 anim            Destroy
+
+        COMMAND                 animdll         Destroy
+        COMMAND                 win             Close
+        COMMAND                 wingrp          Close
+        COMMAND                 ws              Close
+    END_TEST_BLOCK
+END_TESTCASE                    GRAPHICS-WSERV-Anim-PublicAPI-0016
+
+
+