graphicsapitest/graphicssvs/wserv/scripts/GRAPHICS-WSERV-Anim-PublicAPI.script
author William Roberts <williamr@symbian.org>
Thu, 03 Jun 2010 17:39:46 +0100
branchNewGraphicsArchitecture
changeset 87 0709f76d91e5
parent 0 5d03bc08d59c
permissions -rw-r--r--
Add MMP files to build libOpenVG_sw.lib which uses LINKAS to redirect to libOpenVG.dll (and the same for libEGL_sw.lib and libOpenVGU_sw.lib). Only the libEGL_sw.lib redirection isn't activated - this can't happen until there is a merged libEGL.dll which supports the OpenWF synchronisation and also implements the graphical support functions. The overall aim is to eliminate the *_sw.dll implementations, at least as a compile-time way of choosing a software-only implementation.The correct way to choose is to put the right set of libraries into a ROM with suitable renaming, and in the emulator to use the "switching DLL" technique to pick the right set. As the Symbian Foundation doesn't have any alternative implementations, we don't need the switching DLLs and we can build directly to the correct name.

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