//
// 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



