bluetoothapitest/bluetoothsvs/T_BTSdpAPI/scripts/BTSDP-SearchPattern-PublicApi-Unconnected.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 17:48:21 +0300
branchRCL_3
changeset 14 f8503e232b0c
parent 0 29b1cd4cb562
permissions -rw-r--r--
Revision: 201011 Kit: 201017

//
// 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			T_BTSdpAPI
//! @SYMScriptTestEnvironment	This test script requires a basic ROM with bluetooth dongle.
//! @SYMScriptDescription		Tests all public elements of the CSdpAttrValueURL, CSdpSearchPattern, SdpUtil,
//!								CElementParser, CSdpAttrValueInt, CSdpAttrValueUint, RSdpDatabase, and RSdp classes
//!								as a means of confidence that the API works as expected. 
//!								The purpose is to provide a regression test suite of PublishedAll APIs for 
//!								BT SDP related classes.
//!								Negative testing is performed to confirm that correct errors are returned 
//!								when incorrect parameters are given. The tests are fully automated.
//! @SYMAuthor					Symbio
//! @SYMCreationDate			21/09/2006
///////////////////////////////////////////////////////////////////////////////


RUN_UTILS	MkDir	${SYSDRIVE}\bluetooth\
RUN_UTILS	MkDir	${SYSDRIVE}\bluetooth\sdp\

LOAD_SUITE	T_BTSdpAPI
DELAY		500


// ****************************************************************************
// CSdpAttrValueURL
// **************************************************************************** 

START_TESTCASE BTSDP-AttrValURL-PublicApi-2001
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2001
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Create a CSdpAttrValueURL object
//!									Uses API elements: NewURLL() and destructor
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Delete CSdpAttrValueURL object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpAttrValueURL object was created successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2001-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValURL-PublicApi-2001


START_TESTCASE BTSDP-AttrValURL-PublicApi-2002
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2002
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Get the data type of CSdpAttrValueURL
//!									Uses API elements: NewURLL(), Type() and destructor
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Verify the object type using Type() function. Test pass if expected type is ETypeURL
//!									4. Delete CSdpAttrValueURL object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpAttrValueURL type is ETypeURL
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2002-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	Type		BTSDP-AttrValURL-PublicApi-2002-0001command2Type
			COMMAND		csdpattrvalueurl1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValURL-PublicApi-2002


START_TESTCASE BTSDP-AttrValURL-PublicApi-2003
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2003
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Get a data buffer attribute value in CSdpAttrValueURL object
//!									Uses API elements: NewURLL(), Des() and destructor
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Use Des() function to retrieve CSdpAttrValueURL object's data pointer descriptor
//!									4. Read an input data from test data and test pass if the content in data pointer descriptor is as expected
//!									5. Delete CSdpAttrValueURL object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Data buffer attribute value was matched to the expected data from test data successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2003-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	Des		BTSDP-AttrValURL-PublicApi-2003-0001command2Des
			COMMAND		csdpattrvalueurl1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValURL-PublicApi-2003


START_TESTCASE BTSDP-AttrValURL-PublicApi-2004
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2004
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Get the size of a CSdpAttrValueURL attribute
//!									Uses API elements: NewURLL(), DataSize() and destructor
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Get the size of CSdpAttrValueURL object using DataSize() function
//!									4. Read the expected size from test data and test pass if current size is as expected
//!									5. Delete CSdpAttrValueURL object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Actual object size was matched to the expected size successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2004-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	DataSize		BTSDP-AttrValURL-PublicApi-2004-0001command2DataSize
			COMMAND		csdpattrvalueurl1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValURL-PublicApi-2004


START_TESTCASE BTSDP-AttrValURL-PublicApi-2005
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2005
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Destroy a CSdpAttrValueURL object
//!									Uses API elements: NewURLL() and destructor
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Delete CSdpAttrValueURL object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpAttrValueURL object was deleted successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2005-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValURL-PublicApi-2005


// ****************************************************************************
// Testing virtual functions inherited from CSdpAttrValue
// ****************************************************************************

START_TESTCASE BTSDP-AttrValURL-PublicApi-2006
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2006
//! @SYMAPI							CSdpAttrValueURL, CSdpAttrValue and MSdpAttributeValueVisitor
//! @SYMTestCaseDesc				Request a call back to pass the attribute value
//!									Uses API elements: NewURLL(), AcceptVisitorL(), VisitAttributeValueL() 
//!									and destructor
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Test AcceptVisitorL() function to pass the object itself. Return KErrNone if successed
//!									   Also check actual attribute types if successful
//!									4. Delete CSdpAttrValueURL object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpAttrValueURL object type itself returned
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2006-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	AcceptVisitorL		BTSDP-AttrValURL-PublicApi-2006-0001command2AcceptVisitorL
			COMMAND		csdpattrvalueurl1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValURL-PublicApi-2006


START_TESTCASE BTSDP-AttrValURL-PublicApi-2007
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2007
//! @SYMAPI							CSdpAttrValueURL and CSdpAttrValue
//! @SYMTestCaseDesc				Call CSdpAttrValue's Bool() function to get a Boolean attribute value
//!									Uses API elements: NewURLL() and Bool()
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Call CSdpAttrValue's Bool() function and catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2007-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	Bool
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE BTSDP-AttrValURL-PublicApi-2007


START_TESTCASE BTSDP-AttrValURL-PublicApi-2008
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2008
//! @SYMAPI							CSdpAttrValueURL and CSdpAttrValue
//! @SYMTestCaseDesc				Test if CSdpAttrValueURL attribute can be stored in an integer value
//!									Uses API elements: NewURLL(), DoesIntFit() and destructor
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Verify that CSdpAttrValueURL object cannot hold integer value using DoesIntFit() function
//!									4. Read an expected result, False from test data and compare results. Test pass if results are matched
//!									5. Delete CSdpAttrValueURL object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpAttrValueURL attribute cannot be stored in an integer value and EFalse returned
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2008-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	DoesIntFit		BTSDP-AttrValURL-PublicApi-2008-0001command2DoesIntFit
			COMMAND		csdpattrvalueurl1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValURL-PublicApi-2008


START_TESTCASE BTSDP-AttrValURL-PublicApi-2009
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2009
//! @SYMAPI							CSdpAttrValueURL and CSdpAttrValue
//! @SYMTestCaseDesc				Call CSdpAttrValue's Int() function to get a signed integer attribute value
//!									Uses API elements: NewURLL() and Int()
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Call CSdpAttrValue's Int() function and catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2009-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	Int
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE BTSDP-AttrValURL-PublicApi-2009


START_TESTCASE BTSDP-AttrValURL-PublicApi-2010
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2010
//! @SYMAPI							CSdpAttrValueURL and CSdpAttrValue
//! @SYMTestCaseDesc				Call CSdpAttrValue's UUID() function to get a UUID attribute value
//!									Uses API elements: NewURLL() and UUID()
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Call CSdpAttrValue's UUID() function and catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2010-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	UUID
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE BTSDP-AttrValURL-PublicApi-2010


START_TESTCASE BTSDP-AttrValURL-PublicApi-2011
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2011
//! @SYMAPI							CSdpAttrValueURL and CSdpAttrValue
//! @SYMTestCaseDesc				Call CSdpAttrValue's Uint() function to get an unsigned integer attribute value
//!									Uses API elements: NewURLL() and Uint()
//! @SYMTestActions					1. Read a URL value from test data if successful
//!									2. Create a CSdpAttrValueURL object with the URL value using NewURLL() function.
//!									   Return KErrNone if successed
//!									3. Call CSdpAttrValue's Uint() function and catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
			COMMAND		csdpattrvalueurl1	NewURLL		BTSDP-AttrValURL-PublicApi-2011-0001command1NewURLL
			COMMAND		csdpattrvalueurl1	Uint
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE BTSDP-AttrValURL-PublicApi-2011


// ****************************************************************************
// Negative test cases
// ****************************************************************************

//!START_TESTCASE BTSDP-AttrValURL-PublicApi-2012
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2012
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Get the data type of CSdpAttrValueURL
//!									Uses API elements: Type()
//! @SYMTestActions					1. Verify the object type using Type() function. Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
//!			COMMAND		csdpattrvalueurl1	Type
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-AttrValURL-PublicApi-2012


//!START_TESTCASE BTSDP-AttrValURL-PublicApi-2013
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2013
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Get a data buffer attribute value in CSdpAttrValueURL object
//!									Uses API elements: Des()
//! @SYMTestActions					1. Use Des() function to retrieve CSdpAttrValueURL object's data pointer descriptor.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
//!			COMMAND		csdpattrvalueurl1	Des
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-AttrValURL-PublicApi-2013


//!START_TESTCASE BTSDP-AttrValURL-PublicApi-2014
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2014
//! @SYMAPI							CSdpAttrValueURL
//! @SYMTestCaseDesc				Get the size of a CSdpAttrValueURL attribute
//!									Uses API elements: DataSize()
//! @SYMTestActions					1. Get the size of CSdpAttrValueURL object using DataSize() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
//!			COMMAND		csdpattrvalueurl1	DataSize
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-AttrValURL-PublicApi-2014


//!START_TESTCASE BTSDP-AttrValURL-PublicApi-2015
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2015
//! @SYMAPI							CSdpAttrValue
//! @SYMTestCaseDesc				Request a call back to pass the attribute value
//!									Uses API elements: AcceptVisitorL()
//!									and destructor
//! @SYMTestActions					1. Test AcceptVisitorL() function to pass the object itself. Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
//!			COMMAND		csdpattrvalueurl1	AcceptVisitorL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-AttrValURL-PublicApi-2015


//!START_TESTCASE BTSDP-AttrValURL-PublicApi-2016
//! @SYMTestCaseID					BTSDP-AttrValURL-PublicApi-2016
//! @SYMAPI							CSdpAttrValue
//! @SYMTestCaseDesc				Test if CSdpAttrValueURL attribute can be stored in an integer value
//!									Uses API elements: NewURLL(), DoesIntFit() and destructor
//! @SYMTestActions					1. Verify that CSdpAttrValueURL object cannot hold integer value using DoesIntFit() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueURL	csdpattrvalueurl1	
//!			COMMAND		csdpattrvalueurl1	DoesIntFit
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-AttrValURL-PublicApi-2016



// ****************************************************************************
// CSdpSearchPattern
// **************************************************************************** 

START_TESTCASE BTSDP-SearchPattern-PublicApi-2101
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2101
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Create a CSdpSearchPattern object
//!									Uses API elements: NewL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpSearchPattern object was created successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2101


START_TESTCASE BTSDP-SearchPattern-PublicApi-2102
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2102
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Allocate a new UUID array
//!									Uses API elements: NewL(), ConstructL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The new UUID array was created successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2102


START_TESTCASE BTSDP-SearchPattern-PublicApi-2103
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2103
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Add a UID to the list
//!									Uses API elements: NewL(), ConstructL(), AddL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 2 non-existent UUIDs from test data if successed
//!									4. Add the 2 non-existent UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Read the expected values from test data and test pass if the positions are as expected
//!									6. Read an existent UUID from test data if successed
//!									7. Add the existent UUID to the list using AddL() function. Return KErrNone if successed
//!									8. Read the expected value from test data and test pass if the position is as expected
//!									9. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The positions were matched to the expected. In step 4 the 2 UUIDs were inserted to the list, but the UUID in step 7 wasn't
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2103-0001command3AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2103-0001command4AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2103-0001command5AddL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2103


START_TESTCASE BTSDP-SearchPattern-PublicApi-2104
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2104
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Remove a UUID from the list
//!									Uses API elements: NewL(), ConstructL(), AddL(), Remove() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 3 non-existent UUIDs from test data if successed
//!									4. Add the 3 UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Remove an existent UUID from the list using Remove() function
//!									6. Read the expected value from test data and test pass if the position is as expected
//!									7. Remove an non-existent UUID from the list using Remove() function
//!									8. Read the expected value from test data and test pass if the position is as expected
//!									9. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The positions were matched to the expected. In step 5 the UUID was removed, but the UUID in step 7 wasn't
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2104-0001command3AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2104-0001command4AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2104-0001command5AddL
			COMMAND		csdpsearchpattern1	Remove		BTSDP-SearchPattern-PublicApi-2104-0001command6Remove
			COMMAND		csdpsearchpattern1	Remove		BTSDP-SearchPattern-PublicApi-2104-0001command7Remove
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2104


START_TESTCASE BTSDP-SearchPattern-PublicApi-2105
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2105
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Get the position of the specified UUID in the list
//!									Uses API elements: NewL(), ConstructL(), AddL(), Find() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 2 non-existent UUIDs from test data if successed
//!									4. Add the 2 UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Get the positions of an existent UUID in the list using Find() function
//!									6. Read the expected values from test data and test pass if the position is as expected and the UUID can be found
//!									7. Get the positions of an non-existent UUID in the list using Find() function
//!									8. Read the expected values from test data and test pass if the position is as expected and the UUID can be found
//!									9. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The positions were matched to the expected. In step 5 the UUID was found, but the UUID in step 7 wasn't
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2105-0001command3AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2105-0001command4AddL
			COMMAND		csdpsearchpattern1	Find		BTSDP-SearchPattern-PublicApi-2105-0001command5Find
			COMMAND		csdpsearchpattern1	Find		BTSDP-SearchPattern-PublicApi-2105-0001command6Find
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2105


START_TESTCASE BTSDP-SearchPattern-PublicApi-2106
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2106
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Get the number of UUIDs in the list
//!									Uses API elements: NewL(), ConstructL(), AddL(), Count() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 2 non-existent UUIDs from test data if successed
//!									4. Add the 2 UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Get the number of UUIDs in the list using Count() function
//!									6. Read the expected value from test data and test pass if the number of UUIDs in the list is as expected
//!									7. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The number of UUIDs in the list was matched to the expected
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2106-0001command3AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2106-0001command4AddL
			COMMAND		csdpsearchpattern1	Count		BTSDP-SearchPattern-PublicApi-2106-0001command5Count
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2106


START_TESTCASE BTSDP-SearchPattern-PublicApi-2107
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2107
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Get the UUID at the specified position in the list
//!									Uses API elements: NewL(), ConstructL(), AddL(), At() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 2 non-existent UUIDs from test data if successed
//!									4. Add the 2 UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Get the UUID at the specified position in the list using At() function
//!									6. Read the expected value from test data and test pass if the UUID is as expected
//!									7. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The UUID was matched to the expected
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2107-0001command3AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2107-0001command4AddL
			COMMAND		csdpsearchpattern1	At		BTSDP-SearchPattern-PublicApi-2107-0001command5At
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2107


START_TESTCASE BTSDP-SearchPattern-PublicApi-2108
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2108
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Remove all UUIDs from the list
//!									Uses API elements: NewL(), ConstructL(), AddL(), Reset() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 2 non-existent UUIDs from test data if successed
//!									4. Add the 2 UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Remove all UUIDs from the list using Reset() function
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			All UUIDs in the list were removed
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2108-0001command3AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2108-0001command4AddL
			COMMAND		csdpsearchpattern1	Reset
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2108


START_TESTCASE BTSDP-SearchPattern-PublicApi-2109
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2109
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Test if the list is empty
//!									Uses API elements: NewL(), ConstructL(), AddL(), Reset(), IsEmpty() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Remove all UUIDs from the list using Reset() function
//!									6. Check if the list is empty using IsEmpty() function
//!									7. Read the expected value, True from test data and test pass if result is as expected
//!									8. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The list was empty and result was matched to the expected
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2109-0001command3AddL
			COMMAND		csdpsearchpattern1	Reset
			COMMAND		csdpsearchpattern1	IsEmpty		BTSDP-SearchPattern-PublicApi-2109-0001command5IsEmpty
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2109


START_TESTCASE BTSDP-SearchPattern-PublicApi-2110
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2110
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Destroy CSdpSearchPattern object
//!									Uses API elements: NewL(), ConstructL(), AddL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 2 non-existent UUIDs from test data if successed
//!									4. Add the 2 UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpSearchPattern object was deleted
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2110-0001command3AddL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2110-0001command4AddL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2110


// ****************************************************************************
// Testing virtual functions inherited from MSdpElementBuilder
// ****************************************************************************

START_TESTCASE BTSDP-SearchPattern-PublicApi-2111
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2111
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Call MSdpElementBuilder's BuildBooleanL() function to add a Boolean element
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildBooleanL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add a Boolean element using MSdpElementBuilder's BuildBooleanL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2111-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildBooleanL		BTSDP-SearchPattern-PublicApi-2111-0001command4BuildBooleanL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2111


START_TESTCASE BTSDP-SearchPattern-PublicApi-2112
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2112
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Test MSdpElementBuilder's BuildDEAL() function
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildDEAL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add a Data element alternative using MSdpElementBuilder's BuildDEAL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2112-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildDEAL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2112


START_TESTCASE BTSDP-SearchPattern-PublicApi-2113
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2113
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Call MSdpElementBuilder's BuildIntL() function to add a signed integer element
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildIntL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add a signed integer element using MSdpElementBuilder's BuildIntL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2113-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildIntL		BTSDP-SearchPattern-PublicApi-2113-0001command4BuildIntL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2113


START_TESTCASE BTSDP-SearchPattern-PublicApi-2114
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2114
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Call MSdpElementBuilder's BuildNilL() function to add a null element
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildNilL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add a null element using MSdpElementBuilder's BuildNilL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2114-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildNilL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2114


START_TESTCASE BTSDP-SearchPattern-PublicApi-2115
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2115
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Call MSdpElementBuilder's BuildStringL() function to add a Text String element
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildStringL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add a Text String element using MSdpElementBuilder's BuildStringL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2115-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildStringL		BTSDP-SearchPattern-PublicApi-2115-0001command4BuildStringL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2115


START_TESTCASE BTSDP-SearchPattern-PublicApi-2116
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2116
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Call MSdpElementBuilder's BuildURLL() function to add a URL element
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildURLL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add a URL element using MSdpElementBuilder's BuildURLL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2116-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildURLL		BTSDP-SearchPattern-PublicApi-2116-0001command4BuildURLL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2116


START_TESTCASE BTSDP-SearchPattern-PublicApi-2117
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2117
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Call MSdpElementBuilder's BuildUintL() function to add an unsigned integer element
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildUintL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add an unsigned integer element using MSdpElementBuilder's BuildUintL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2117-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildUintL		BTSDP-SearchPattern-PublicApi-2117-0001command4BuildUintL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2117


START_TESTCASE BTSDP-SearchPattern-PublicApi-2118
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2118
//! @SYMAPI							CSdpSearchPattern and MSdpElementBuilder
//! @SYMTestCaseDesc				Call MSdpElementBuilder's BuildUnknownL() function to add an element of any type
//!									Uses API elements: NewL(), ConstructL(), AddL(), BuildUnknownL() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read a non-existent UUIDs from test data if successed
//!									4. Add the UUID to the list using AddL() function. Return KErrNone if successed
//!									5. Add an element of any type using MSdpElementBuilder's BuildUnknownL() function.
//!									   The error KErrGeneral is expected from this function call
//!									6. Delete CSdpSearchPattern object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Leave the error KErrGeneral
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
			COMMAND		csdpsearchpattern1	NewL
			COMMAND		csdpsearchpattern1	ConstructL
			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2118-0001command3AddL
			COMMAND	!Error=-2	csdpsearchpattern1	BuildUnknownL		BTSDP-SearchPattern-PublicApi-2118-0001command4BuildUnknownL
			COMMAND		csdpsearchpattern1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-SearchPattern-PublicApi-2118


// ****************************************************************************
// Negative test cases
// ****************************************************************************

//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2119
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2119
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Get the UUID at the specified position in the list
//!									Uses API elements: NewL(), ConstructL(), AddL(), At() and destructor
//! @SYMTestActions					1. Allocate and construct a new CSdpSearchPattern object using NewL() function.
//!									   Return KErrNone if successed
//!									2. Allocate a new UUID array using ConstructL() function. Return KErrNone if successed
//!									3. Read 2 non-existent UUIDs from test data if successed
//!									4. Add the 2 UUIDs to the list using AddL() function. Return KErrNone if successed
//!									5. Specify the position is equal to the number of objects currently within the list using At() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	NewL
//!			COMMAND		csdpsearchpattern1	ConstructL
//!			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2119-0001command3AddL
//!			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2119-0001command4AddL
//!			COMMAND		csdpsearchpattern1	At		BTSDP-SearchPattern-PublicApi-2119-0001command5At
//!	END_TEST_BLOCK	!PanicCode=21	!PanicString=E32USER-CBase

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2119


//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2120
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2120
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Allocate a new UUID array
//!									Uses API elements: ConstructL()
//! @SYMTestActions					1. Allocate a new UUID array using ConstructL() function. 
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	ConstructL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2120


//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2121
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2121
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Adds a UID to the list
//!									Uses API elements: AddL()
//! @SYMTestActions					1. Adds a UID to the list using AddL() function. Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	AddL		BTSDP-SearchPattern-PublicApi-2121-0001command1AddL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2121


//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2122
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2122
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Removes a UUID from the list
//!									Uses API elements: Remove()
//! @SYMTestActions					1. Removes a UUID from the list using Remove() function. 
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	Remove		BTSDP-SearchPattern-PublicApi-2122-0001command1Remove
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2122


//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2123
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2123
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Gets the position of the specified UUID in the list
//!									Uses API elements: Find()
//! @SYMTestActions					1. Gets the position of the specified UUID in the list using Find() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	Find		BTSDP-SearchPattern-PublicApi-2123-0001command1Find
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2123


//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2124
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2124
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Gets the number of UUIDs in the list
//!									Uses API elements: Count()
//! @SYMTestActions					1. Gets the number of UUIDs in the list using Count() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	Count
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2124


//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2125
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2125
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Removes all UUIDs from the list
//!									Uses API elements: Reset()
//! @SYMTestActions					1. Removes all UUIDs from the list using Reset() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	Reset
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2125


//!START_TESTCASE BTSDP-SearchPattern-PublicApi-2126
//! @SYMTestCaseID					BTSDP-SearchPattern-PublicApi-2126
//! @SYMAPI							CSdpSearchPattern
//! @SYMTestCaseDesc				Tests if the list is empty
//!									Uses API elements: IsEmpty()
//! @SYMTestActions					1. Tests if the list is empty using IsEmpty() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpSearchPattern	csdpsearchpattern1	
//!			COMMAND		csdpsearchpattern1	IsEmpty
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-SearchPattern-PublicApi-2126



// ****************************************************************************
// SdpUtil
// **************************************************************************** 

START_TESTCASE BTSDP-Util-PublicApi-2201
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2201
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Put an unsigned integer into a descriptor
//!									Uses API elements: PutUint()
//! @SYMTestActions					1. Read an integer to be copied into a descriptor and a number of bytes occupied by the integer from test data if successful
//!									2. Put the unsigned integer into a descriptor using PutUint() function
//!									3. Calculate the expected value and test pass if the pointer to the descriptor's data field is as expected
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Pointer to the descriptor's data field was matched to the expected value
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	PutUint		BTSDP-Util-PublicApi-2201-0001command1PutUint
	END_TEST_BLOCK

END_TESTCASE BTSDP-Util-PublicApi-2201


START_TESTCASE BTSDP-Util-PublicApi-2202
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2202
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Get an unsigned integer from a descriptor
//!									Uses API elements: GetUint()
//!									The length of parameter(define in ini file) should be 0, 1, 2 or 4
//! @SYMTestActions					1. Read a descriptor containing an integer from test data if successful
//!									2. Get an unsigned integer from the descriptor using GetUint() function
//!									3. Calculate the expected value and test pass if the unsigned integer is as expected
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The unsigned integer was matched to the expected value
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	GetUint		BTSDP-Util-PublicApi-2202-0001command1GetUint
	END_TEST_BLOCK

END_TESTCASE BTSDP-Util-PublicApi-2202


START_TESTCASE BTSDP-Util-PublicApi-2204
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2204
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Get an unsigned 64 bit integer from a descriptor
//!									Uses API elements: GetUint64()
//!									The length of parameter(define in ini file) should be 8
//! @SYMTestActions					1. Read a descriptor containing an unsigned 64 bit integer from test data if successful
//!									2. Get an unsigned 64 bit integer from the descriptor using GetUint64() function
//!									3. Calculate the expected value and test pass if the unsigned 64 bit integer is as expected
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The unsigned 64 bit integer was matched to the expected value
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	GetUint64		BTSDP-Util-PublicApi-2204-0001command1GetUint64
	END_TEST_BLOCK

END_TESTCASE BTSDP-Util-PublicApi-2204


START_TESTCASE BTSDP-Util-PublicApi-2206
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2206
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Get two unsigned 64 bit integers from a descriptor
//!									Uses API elements: GetUint128()
//!									The length of parameter(define in ini file) should be 16
//! @SYMTestActions					1. Read a descriptor containing two unsigned 64 bit integers from test data if successful
//!									2. Get two unsigned 64 bit integers from the descriptor using GetUint128() function
//!									3. Calculate the expected value and test pass if the two unsigned 64 bit integers are as expected
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The two unsigned 64 bit integers were matched to the expected value
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	GetUint128		BTSDP-Util-PublicApi-2206-0001command1GetUint128
	END_TEST_BLOCK

END_TESTCASE BTSDP-Util-PublicApi-2206


START_TESTCASE BTSDP-Util-PublicApi-2207
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2207
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Get an unsigned integer from a descriptor
//!									Uses API elements: GetUint()
//!									The length of parameter(define in ini file) should not be 0, 1, 2 or 4
//! @SYMTestActions					1. Read a descriptor containing an integer from test data if successful
//!									2. Get an unsigned integer from the descriptor using GetUint() function
//!									   Verify if a panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	GetUint		BTSDP-Util-PublicApi-2207-0001command1GetUint
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Parse

END_TESTCASE BTSDP-Util-PublicApi-2207


START_TESTCASE BTSDP-Util-PublicApi-2208
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2208
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Get an unsigned 64 bit integer from a descriptor
//!									Uses API elements: GetUint64()
//!									The length of parameter(define in ini file) should not be 8
//! @SYMTestActions					1. Read a descriptor containing an unsigned 64 bit integer from test data if successful
//!									2. Get an unsigned 64 bit integer from the descriptor using GetUint64() function
//!									   Verify if a panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	GetUint64		BTSDP-Util-PublicApi-2208-0001command1GetUint64
	END_TEST_BLOCK	!PanicCode=3	!PanicString=SDP-Parse

END_TESTCASE BTSDP-Util-PublicApi-2208


START_TESTCASE BTSDP-Util-PublicApi-2209
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2209
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Get two unsigned 64 bit integers from a descriptor
//!									Uses API elements: GetUint128()
//!									The length of parameter(define in ini file) should not be 16
//! @SYMTestActions					1. Read a descriptor containing two unsigned 64 bit integers from test data if successful
//!									2. Get two unsigned 64 bit integers from the descriptor using GetUint128() function
//!									   Verify if a panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught a panic
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	GetUint128		BTSDP-Util-PublicApi-2209-0001command1GetUint128
	END_TEST_BLOCK	!PanicCode=4	!PanicString=SDP-Parse

END_TESTCASE BTSDP-Util-PublicApi-2209



// ****************************************************************************
// CElementParser
// **************************************************************************** 

START_TESTCASE BTSDP-ElementParser-PublicApi-2301
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2301
//! @SYMAPI							CElementParser and CSdpAttrValueDEA
//! @SYMTestCaseDesc				Create a CElementParser object
//!									Uses API elements: NewDEAL(), BuildStringL(), NewL() and destructor
//! @SYMTestActions					1. Create a list using NewDEAL() function and return KErrNone if successed
//!									2. Read a string value from test data if successful
//!									3. Add the string value in the list using BuildStringL() function. Return KErrNone if successed
//!									4. Create a new CElementParser object with the CSdpAttrValueDEA object using NewL() function.
//!									   Return KErrNone if successed
//!									5. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CElementParser object was created successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDEA	attrValueDEA	
			COMMAND		attrValueDEA	NewDEAL
			COMMAND		attrValueDEA	BuildStringL		BTSDP-ElementParser-PublicApi-2301-0001command3BuildStringL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2301-0001command5NewL
			COMMAND		celementparser1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2301


START_TESTCASE BTSDP-ElementParser-PublicApi-2302
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2302
//! @SYMAPI							CElementParser and CSdpAttrValueDES
//! @SYMTestCaseDesc				Reset the parser's buffers to be empty
//!									Uses API elements: NewDESL(), BuildNilL(), NewL(), Reset() and destructor
//! @SYMTestActions					1. Create a list using NewDESL() function and return KErrNone if successed
//!									2. Add a NULL type of element using BuildNilL() function. Return KErrNone if successed
//!									3. Create a new CElementParser object with the CSdpAttrValueDES object using NewL() function.
//!									   Return KErrNone if successed
//!									4. Reset CElementParser object's buffers using Reset() function
//!									5. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CElementParser's buffers was empty
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
			COMMAND		attrValueDES	NewDESL
			COMMAND		attrValueDES	BuildNilL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2302-0001command5NewL
			COMMAND		celementparser1	Reset
			COMMAND		celementparser1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2302


START_TESTCASE BTSDP-ElementParser-PublicApi-2303
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2303
//! @SYMAPI							CElementParser and CSdpAttrValueDES
//! @SYMTestCaseDesc				Reset the parser's buffers to be empty, and reset the element builder object used
//!									Uses API elements: NewDESL(), BuildBooleanL(), NewL(), Reset() and destructor
//! @SYMTestActions					1. Create a list using NewDESL() function and return KErrNone if successed
//!									2. Read a boolean value from test data if successful
//!									3. Add the boolean in the list using BuildBooleanL() function. Return KErrNone if successed
//!									4. Create a new CElementParser object with the CSdpAttrValueDES object using NewL() function.
//!									   Return KErrNone if successed
//!									5. Use Reset() function to reset CElementParser object's buffers and the element builder, CSdpAttrValueDES object used
//!									6. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Reset successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
			COMMAND		attrValueDES	NewDESL
			COMMAND		attrValueDES	BuildBooleanL		BTSDP-ElementParser-PublicApi-2303-0001command3BuildBooleanL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2303-0001command5NewL
			COMMAND		celementparser1	Reset		BTSDP-ElementParser-PublicApi-2303-0001command6Reset
			COMMAND		celementparser1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2303


START_TESTCASE BTSDP-ElementParser-PublicApi-2304
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2304
//! @SYMAPI							CElementParser and CSdpAttrValueDEA
//! @SYMTestCaseDesc				Return MSdpElementBuilder object
//!									Uses API elements: NewDEAL(), BuildDEAL(), NewL(), Builder() and destructor
//! @SYMTestActions					1. Create a list using NewDEAL() function and return KErrNone if successed
//!									2. Add a data element alternative in the list using BuildDEAL() function. Return KErrNone if successed
//!									3. Create a new CElementParser object with the CSdpAttrValueDEA object using NewL() function.
//!									   Return KErrNone if successed
//!									4. Call Builder() function
//!									5. Read an expected result from test data and test pass if results are matched
//!									6. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Returned a MSdpElementBuilder object successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDEA	attrValueDEA	
			COMMAND		attrValueDEA	NewDEAL
			COMMAND		attrValueDEA	BuildDEAL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2304-0001command5NewL
			COMMAND		celementparser1	Builder		BTSDP-ElementParser-PublicApi-2304-0001command6Builder
			COMMAND		celementparser1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2304


START_TESTCASE BTSDP-ElementParser-PublicApi-2305
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2305
//! @SYMAPI							CElementParser and CSdpAttrValueDES
//! @SYMTestCaseDesc				Set MSdpElementBuilder
//!									Uses API elements: NewDESL(), BuildIntL(), NewL(), SetBuilder() and destructor
//! @SYMTestActions					1. Create a list using NewDESL() function and return KErrNone if successed
//!									2. Read a signed integer from test data if successful
//!									3. Add the signed integer in the list using BuildIntL() function. Return KErrNone if successed
//!									4. Create a new CElementParser object with the CSdpAttrValueDES object using NewL() function.
//!									   Return KErrNone if successed
//!									5. Call SetBuilder() function to parse CSdpAttrValueDES object
//!									6. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CSdpAttrValueDES object was set successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
			COMMAND		attrValueDES	NewDESL
			COMMAND		attrValueDES	BuildIntL		BTSDP-ElementParser-PublicApi-2305-0001command3BuildIntL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2305-0001command5NewL
			COMMAND		celementparser1	SetBuilder		BTSDP-ElementParser-PublicApi-2305-0001command6SetBuilder
			COMMAND		celementparser1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2305


START_TESTCASE BTSDP-ElementParser-PublicApi-2306
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2306
//! @SYMAPI							CElementParser and CSdpAttrValueDEA
//! @SYMTestCaseDesc				Parse a data buffer into the currently set MSdpElementBuilder interface
//!									Uses API elements: NewDEAL(), BuildUintL(), NewL(), ParseElementsL() and destructor
//! @SYMTestActions					1. Create a list using NewDEAL() function and return KErrNone if successed
//!									2. Read an unsigned integer from test data if successful
//!									3. Add the unsigned integer in the list using BuildUintL() function. Return KErrNone if successed
//!									4. Create a new CElementParser object with the CSdpAttrValueDEA object using NewL() function.
//!									   Return KErrNone if successed
//!									5. Retrieve some data from an existent file using RFs and RFile objects
//!									6. CElementParser object parses a data buffer is gotten in step 5 and return number of bytes not consumed
//!									   Return KErrNone if successed
//!									7. Read an expected result from test data and test pass if the number of bytes not consumed is as expected
//!									8. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			The number of bytes not consumed was matched to the expected
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDEA	attrValueDEA	
			COMMAND		attrValueDEA	NewDEAL
			COMMAND		attrValueDEA	BuildUintL		BTSDP-ElementParser-PublicApi-2306-0001command3BuildUintL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2306-0001command5NewL
			COMMAND		celementparser1	ParseElementsL		BTSDP-ElementParser-PublicApi-2306-0001command6ParseElementsL
			COMMAND		celementparser1	Builder		BTSDP-ElementParser-PublicApi-2306-0001command7Builder
			COMMAND		attrValueDEA	DataSize		BTSDP-ElementParser-PublicApi-2306-0001command9DataSize
			COMMAND		attrValueDEA	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2306


START_TESTCASE BTSDP-ElementParser-PublicApi-2307
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2307
//! @SYMAPI							CElementParser and CSdpAttrValueDEA
//! @SYMTestCaseDesc				Parse out some encoded data, with transparent buffering of unparsed data between calls
//!									Uses API elements: NewDEAL(), BuildUUIDL(), NewL(), BufferedParseL() and destructor
//! @SYMTestActions					1. Create a list using NewDEAL() function and return KErrNone if successed
//!									2. Read a UUID from test data and add it to the list if successful
//!									3. Add the UUID in the list using BuildUUIDL() function. Return KErrNone if successed
//!									4. Create a new CElementParser object with the CSdpAttrValueDEA object using NewL() function.
//!									   Return KErrNone if successed
//!									5. Retrieve some data from an existent file using RFs and RFile objects
//!									6. CElementParser object parses an input buffer is gotten in step 5 and return the result
//!									   Return KErrNone if successed
//!									7. Read an expected result from test data and test pass if the results are matched
//!									8. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Returned True and matched to the expected
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDEA	attrValueDEA	
			COMMAND		attrValueDEA	NewDEAL
			COMMAND		attrValueDEA	BuildUUIDL		BTSDP-ElementParser-PublicApi-2307-0001command3BuildUUIDL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2307-0001command5NewL
			COMMAND		celementparser1	BufferedParseL		BTSDP-ElementParser-PublicApi-2307-0001command6BufferedParseL
			COMMAND		celementparser1	Builder		BTSDP-ElementParser-PublicApi-2307-0001command7Builder
			COMMAND		attrValueDEA	DataSize		BTSDP-ElementParser-PublicApi-2307-0001command9DataSize
			COMMAND		attrValueDEA	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2307


START_TESTCASE BTSDP-ElementParser-PublicApi-2308
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2308
//! @SYMAPI							CElementParser and CSdpAttrValueDES
//! @SYMTestCaseDesc				Destroy CElementParser object
//!									Uses API elements: NewDESL(), BuildURLL() and NewL() and destructor
//! @SYMTestActions					1. Create a list using NewDESL() function and return KErrNone if successed
//!									2. Read a URL from test data and add it to the list if successful
//!									3. Add the URL in the list using BuildURLL() function. Return KErrNone if successed
//!									4. Create a new CElementParser object with the CSdpAttrValueDES object using NewL() function.
//!									   Return KErrNone if successed
//!									5. Delete CElementParser object using destructor
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			CElementParser object was deleted successfully
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CElementParser	celementparser1	
			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
			COMMAND		attrValueDES	NewDESL
			COMMAND		attrValueDES	BuildURLL		BTSDP-ElementParser-PublicApi-2308-0001command3BuildURLL
			COMMAND		celementparser1	NewL		BTSDP-ElementParser-PublicApi-2308-0001command5NewL
			COMMAND		celementparser1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-ElementParser-PublicApi-2308


// ****************************************************************************
// Negative test cases
// ****************************************************************************

//!START_TESTCASE BTSDP-ElementParser-PublicApi-2309
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2309
//! @SYMAPI							CElementParser
//! @SYMTestCaseDesc				Parse a data buffer into the currently set MSdpElementBuilder interface
//!									Uses API elements: ParseElementsL()
//! @SYMTestActions					1. Parses a data buffer into the currently set MSdpElementBuilder interface using ParseElementsL() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CElementParser	celementparser1	
//!			COMMAND		celementparser1	ParseElementsL		BTSDP-ElementParser-PublicApi-2309-0001command1ParseElementsL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-ElementParser-PublicApi-2309


//!START_TESTCASE BTSDP-ElementParser-PublicApi-2310
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2310
//! @SYMAPI							CElementParser
//! @SYMTestCaseDesc				Parse out some encoded data, with transparent buffering of unparsed data between calls
//!									Uses API elements: BufferedParseL()
//! @SYMTestActions					1. Parse out some encoded data, with transparent buffering of unparsed data between calls using BufferedParseL() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CElementParser	celementparser1	
//!			COMMAND		celementparser1	BufferedParseL		BTSDP-ElementParser-PublicApi-2310-0001command1BufferedParseL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-ElementParser-PublicApi-2310


//!START_TESTCASE BTSDP-ElementParser-PublicApi-2311
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2311
//! @SYMAPI							CElementParser
//! @SYMTestCaseDesc				Reset the parser's buffers to be empty
//!									Uses API elements: Reset()
//! @SYMTestActions					1. Reset CElementParser object's buffers using Reset() function.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CElementParser	celementparser1	
//!			COMMAND		celementparser1	Reset
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-ElementParser-PublicApi-2311


//!START_TESTCASE BTSDP-ElementParser-PublicApi-2312
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2312
//! @SYMAPI							CElementParser
//! @SYMTestCaseDesc				Reset the parser's buffers to be empty, and reset the element builder object used
//!									Uses API elements: Reset()
//! @SYMTestActions					1. Use Reset() function to reset CElementParser object's buffers and the element builder, CSdpAttrValueDES object used.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CElementParser	celementparser1	
//!			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
//!			COMMAND		celementparser1	Reset		BTSDP-ElementParser-PublicApi-2312-0001command1Reset
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-ElementParser-PublicApi-2312


//!START_TESTCASE BTSDP-ElementParser-PublicApi-2313
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2313
//! @SYMAPI							CElementParser
//! @SYMTestCaseDesc				Return MSdpElementBuilder object
//!									Uses API elements: Builder()
//! @SYMTestActions					1. Call Builder() function. Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CElementParser	celementparser1	
//!			COMMAND		celementparser1	Builder
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-ElementParser-PublicApi-2313


//!START_TESTCASE BTSDP-ElementParser-PublicApi-2314
//! @SYMTestCaseID					BTSDP-ElementParser-PublicApi-2314
//! @SYMAPI							CElementParser
//! @SYMTestCaseDesc				Set MSdpElementBuilder
//!									Uses API elements: SetBuilder()
//! @SYMTestActions					1. Call SetBuilder() function to parse CSdpAttrValueDES object.
//!									   Catch a panic if panic is thrown out
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Caught the panic
//! @SYMTestType					CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CElementParser	celementparser1	
//!			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
//!			COMMAND		celementparser1	SetBuilder		BTSDP-ElementParser-PublicApi-2314-0001command1SetBuilder
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-ElementParser-PublicApi-2314



// ****************************************************************************
// BTSDP-AttrValueInt
// **************************************************************************** 

START_TESTCASE BTSDP-AttrValInt-PublicApi-3101
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3101
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Allocate and construct a new CSdpAttrValueInt object.
//!								Uses API elements: NewIntL() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.		
//!								3. Deconstruct CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	CSdpAttrValueInt object was created successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3101-0001command1NewIntL
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3101


START_TESTCASE BTSDP-AttrValInt-PublicApi-3102
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3102
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Gets the size of the attribute.
//!								Uses API elements: NewIntL(), DataSize() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Get the current size of CSdpAttrValueInt object using DataSize() function
//!								4. Read the expected size from test data and compare if actual size is as expected
//!								5. Test failed if sizes doesn't match
//!								6. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Actual object size was matched to the expected size successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3102-0001command1NewIntL
			COMMAND		attrvalueInt1	DataSize		BTSDP-AttrValInt-PublicApi-3102-0001command2DataSize
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValInt-PublicApi-3102


START_TESTCASE BTSDP-AttrValInt-PublicApi-3103
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3103
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Gets the attribute type.
//!								Uses API elements: NewIntL(), Type() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Verify the object type using Type() function. Test pass if expected type is ETypeInt.
//!								4. Test failed if type doesn't match.	
//!								5. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	CSdpAttrValueInt type is ETypeInt.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3103-0001command1NewIntL
			COMMAND		attrvalueInt1	Type		BTSDP-AttrValInt-PublicApi-3103-0001command2Type
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3103


START_TESTCASE BTSDP-AttrValInt-PublicApi-3104
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3104
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Gets the value as a signed integer type.
//!								Uses API elements: NewIntL(), Int() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Verify the object signed integer value using Int() function. Test pass if expected signed integer value
//!									is same as actual signed integer value.
//!								4. Test failed if signed integer value doesn't match.
//!								5. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	Actual signed integer value was matched to the expected value successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	TSdpIntBuf32	attrIntBuf1	
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrIntBuf1	NewIntBuf		BTSDP-AttrValInt-PublicApi-3104-0001command1NewIntBuf
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3104-0001command3NewIntL
			COMMAND		attrvalueInt1	Int		BTSDP-AttrValInt-PublicApi-3104-0001command4Int
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3104


START_TESTCASE BTSDP-AttrValInt-PublicApi-3105
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3105
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an integer value.
//!								Uses API elements: NewIntL(), DoesIntFit() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an integer value using DoesIntFit() function.
//!									Test pass if object can be stored in an integer value and return ETrue as expected.
//!								4. Test failed if object can't be stored in an integer value and return EFalse.
//!								5. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Object can be stored in an integer value and return ETrue successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3105-0001command1NewIntL
			COMMAND		attrvalueInt1	DoesIntFit		BTSDP-AttrValInt-PublicApi-3105-0001command2DoesIntFit
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3105


START_TESTCASE BTSDP-AttrValInt-PublicApi-3106
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3106
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Gets the value as a data buffer.
//!								Uses API elements: NewIntL(), Des() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Use Des() function to retrieve CSdpAttrValueInt object's data pointer descriptor.
//!								4. Read an input integer from test data and compare it with the contents in data pointer descriptor
//!									and check if actual integer value is same as expected input integer value.
//!								5. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	Data buffer integer value was matched to the expected integer from test data successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3106-0001command1NewIntL
			COMMAND		attrvalueInt1	Des		BTSDP-AttrValInt-PublicApi-3106-0001command2Des
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3106


START_TESTCASE BTSDP-AttrValInt-PublicApi-3107
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3107
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Gets an unsigned integer attribute value.
//!								Uses API elements: NewIntL(), Uint() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Execute Uint() function and catch a panic and check if panic is thrown out as expected.
//!								4. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3107-0001command1NewIntL
			COMMAND		attrvalueInt1	Uint
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3107


START_TESTCASE BTSDP-AttrValInt-PublicApi-3108
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3108
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Gets a UUID attribute value.
//!								Uses API elements: NewIntL(), UUID() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Execute UUID() function and catch a panic and check if panic is thrown out as expected.
//!								4. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3108-0001command1NewIntL
			COMMAND		attrvalueInt1	UUID
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3108


START_TESTCASE BTSDP-AttrValInt-PublicApi-3109
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3109
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Gets a Boolean attribute value.
//!								Uses API elements: NewIntL(), Bool() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Execute Bool() function and catch a panic and check if panic is thrown out as expected.
//!								4. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3109-0001command1NewIntL
			COMMAND		attrvalueInt1	Bool
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3109


START_TESTCASE BTSDP-AttrValInt-PublicApi-3110
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3110
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Test CSdpAttrValue's AcceptVisitorL() function
//!								Uses API elements: NewIntL(), AcceptVisitorL() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Execute AcceptVisitorL() function and return TSdpElementType is ETypeInt, integer value.
//!								4. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The correct TSdpElementType and value were returned successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3110-0001command1NewIntL
			COMMAND		attrvalueInt1	AcceptVisitorL		BTSDP-AttrValInt-PublicApi-3110-0001command2AcceptVisitorL
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3110


// ****************************************************************************
// Negative
// **************************************************************************** 


START_TESTCASE BTSDP-AttrValInt-PublicApi-3111
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3111
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an positive integer value 64 bits.
//!								Uses API elements: NewIntL(), DoesIntFit(), Des() and destructor
//! @SYMTestActions				1. Read an input positive integer 64 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an positive integer value 64 bits using DoesIntFit() function.
//!									Test pass if object can not be stored in an integer value 64 bits and return EFalse as expected.
//!								4. Test failed if object can be stored in an positive integer value 64 bits and return ETrue.
//!								7. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Object can not be stored in an positive integer value 64 bits and return EFalse successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3111-0001command1NewIntL
			COMMAND		attrvalueInt1	DoesIntFit		BTSDP-AttrValInt-PublicApi-3111-0001command2DoesIntFit
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3111


START_TESTCASE BTSDP-AttrValInt-PublicApi-3112
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3112
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an positive integer value 128 bits.
//!								Uses API elements: NewIntL(), DoesIntFit(), Des() and destructor
//! @SYMTestActions				1. Read an input positive integer 128 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an positive integer value 128 bits using DoesIntFit() function.
//!									Test pass if object can not be stored in an positive integer value 128 bits and return EFalse as expected.
//!								4. Test failed if object can be stored in an positive integer value 128 bits and return ETrue.
//!								7. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Object can not be stored in an positive integer value 128 bits and return EFalse successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3112-0001command1NewIntL
			COMMAND		attrvalueInt1	DoesIntFit		BTSDP-AttrValInt-PublicApi-3112-0001command2DoesIntFit
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3112


START_TESTCASE BTSDP-AttrValInt-PublicApi-3113
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3113
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an negative integer value 64 bits.
//!								Uses API elements: NewIntL(), DoesIntFit(), Des() and destructor
//! @SYMTestActions				1. Read an input negative integer 64 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an negative integer value 64 bits using DoesIntFit() function.
//!									Test pass if object can not be stored in an negative integer value 64 bits and return EFalse as expected.
//!								4. Test failed if object can be stored in an negative integer value 64 bits and return ETrue.
//!								7. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Object can not be stored in an negative integer value 64 bits and return EFalse successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
			COMMAND		attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3113-0001command1NewIntL
			COMMAND		attrvalueInt1	DoesIntFit		BTSDP-AttrValInt-PublicApi-3113-0001command2DoesIntFit
			COMMAND		attrvalueInt1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValInt-PublicApi-3113


//!START_TESTCASE BTSDP-AttrValInt-PublicApi-3114
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3114
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an negative integer value 128 bits.
//!								Uses API elements: NewIntL(), DoesIntFit(), Des() and destructor
//! @SYMTestActions				1. Read an input negative integer 128 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an negative integer value 128 bits using DoesIntFit() function.
//!									Test pass if object can not be stored in an negative integer value 128 bits and return EFalse as expected.
//!								4. Test failed if object can be stored in an negative integer value 128 bits and return ETrue.
//!								7. Deconstructs CSdpAttrValueInt object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic. Object can not be stored in an negative integer value 128 bits and return EFalse successfully.
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
//!			COMMAND	!Error=-6	attrvalueInt1	NewIntL		BTSDP-AttrValInt-PublicApi-3114-0001command1NewIntL
//!			COMMAND		attrvalueInt1	DoesIntFit		BTSDP-AttrValInt-PublicApi-3114-0001command2DoesIntFit
//!			COMMAND		attrvalueInt1	~
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValInt-PublicApi-3114


//!START_TESTCASE BTSDP-AttrValInt-PublicApi-3115
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3115
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Get the attribute type
//!								Uses API elements: Type()
//! @SYMTestActions				1. Get the attribute type using Type() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
//!			COMMAND		attrvalueInt1	Type
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValInt-PublicApi-3115


//!START_TESTCASE BTSDP-AttrValInt-PublicApi-3116
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3116
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Get the size of the attribute
//!								Uses API elements: DataSize()
//! @SYMTestActions				1. Get the size of the attribute using DataSize() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
//!			COMMAND		attrvalueInt1	DataSize
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValInt-PublicApi-3116


//!START_TESTCASE BTSDP-AttrValInt-PublicApi-3117
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3117
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Get the value as a signed integer type
//!								Uses API elements: Int()
//! @SYMTestActions				1. Get the value as a signed integer type using Int() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
//!			COMMAND		attrvalueInt1	Int
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValInt-PublicApi-3117


//!START_TESTCASE BTSDP-AttrValInt-PublicApi-3118
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3118
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Test if the attribute can be stored in an integer value
//!								Uses API elements: DoesIntFit()
//! @SYMTestActions				1. Test if the attribute can be stored in an integer value using DoesIntFit() function. 
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
//!			COMMAND		attrvalueInt1	DoesIntFit
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValInt-PublicApi-3118


//!START_TESTCASE BTSDP-AttrValInt-PublicApi-3119
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3119
//! @SYMAPI						CSdpAttrValueInt
//! @SYMTestCaseDesc			Get the value as a data buffer
//!								Uses API elements: Des()
//! @SYMTestActions				1. Get the value as a data buffer using Des() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
//!			COMMAND		attrvalueInt1	Des
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValInt-PublicApi-3119


//!START_TESTCASE BTSDP-AttrValInt-PublicApi-3120
//! @SYMTestCaseID				BTSDP-AttrValInt-PublicApi-3120
//! @SYMAPI						CSdpAttrValue
//! @SYMTestCaseDesc			Request a call back to pass the attribute value
//!								Uses API elements: AcceptVisitorL()
//! @SYMTestActions				1. Request a call back to pass the attribute value using AcceptVisitorL() function. 
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueInt	attrvalueInt1	
//!			COMMAND		attrvalueInt1	AcceptVisitorL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValInt-PublicApi-3120



// ****************************************************************************
// BTSDP-AttrValueUint
// **************************************************************************** 

START_TESTCASE BTSDP-AttrValUint-PublicApi-3201
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3201
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Allocate and construct a new CSdpAttrValueUint object.
//!								Uses API elements: NewUintL() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.		
//!								3. Deconstruct CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	CSdpAttrValueUint object was created successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3201-0001command1NewUintL
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3201


START_TESTCASE BTSDP-AttrValUint-PublicApi-3202
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3202
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Gets the size of the attribute.
//!								Uses API elements: NewUintL(), DataSize() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Get the current size of CSdpAttrValueUint object using DataSize() function
//!								4. Read the expected size from test data and compare if actual size is as expected
//!								5. Test failed if sizes doesn't match
//!								6. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Actual object size was matched to the expected size successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3202-0001command1NewUintL
			COMMAND		attrValueUint1	DataSize		BTSDP-AttrValUint-PublicApi-3202-0001command2DataSize
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValUint-PublicApi-3202


START_TESTCASE BTSDP-AttrValUint-PublicApi-3203
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3203
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Gets the attribute type.
//!								Uses API elements: NewUintL(), Type() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object type using Type() function. Test pass if expected type is ETypeUint.
//!								4. Test failed if type doesn't match.	
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	CSdpAttrValueUint type is ETypeUint.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3203-0001command1NewUintL
			COMMAND		attrValueUint1	Type		BTSDP-AttrValUint-PublicApi-3203-0001command2Type
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3203


START_TESTCASE BTSDP-AttrValUint-PublicApi-3204
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3204
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Gets the value as a unsigned integer type.
//!								Uses API elements: NewUintL(), Uint() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object unsigned integer value using Uint() function. Test pass if expected unsigned integer value
//!									is same as actual unsigned integer value.
//!								4. Test failed if unsigned integer value doesn't match.
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	Actual unsigned integer value was matched to the expected value successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	TSdpIntBuf32	attrIntBuf1	
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrIntBuf1	NewIntBuf		BTSDP-AttrValUint-PublicApi-3204-0001command1NewIntBuf
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3204-0001command3NewUintL
			COMMAND		attrValueUint1	Des		BTSDP-AttrValUint-PublicApi-3204-0001command4Des
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3204-0001command5NewUintL
			COMMAND		attrValueUint1	Uint		BTSDP-AttrValUint-PublicApi-3204-0001command6Uint
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3204


START_TESTCASE BTSDP-AttrValUint-PublicApi-3205
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3205
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an integer value.
//!								Uses API elements: NewUintL(), DoesIntFit() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an integer value using DoesIntFit() function.
//!									Test pass if object can be stored in an integer value and return ETrue as expected.
//!								4. Test failed if object can't be stored in an integer value and return EFalse.
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Object can be stored in an integer value and return ETrue successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3205-0001command1NewUintL
			COMMAND		attrValueUint1	DoesIntFit		BTSDP-AttrValUint-PublicApi-3205-0001command2DoesIntFit
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3205


START_TESTCASE BTSDP-AttrValUint-PublicApi-3206
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3206
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Gets the value as a data buffer.
//!								Uses API elements: NewUintL(), Des() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Use Des() function to retrieve CSdpAttrValueUint object's data pointer descriptor.
//!								4. Read an input integer from test data and compare it with the contents in data pointer descriptor
//!									and check if actual integer value is same as expected input integer value.
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	Data buffer integer value was matched to the expected integer from test data successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3206-0001command1NewUintL
			COMMAND		attrValueUint1	Des		BTSDP-AttrValUint-PublicApi-3206-0001command2Des
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3206


START_TESTCASE BTSDP-AttrValUint-PublicApi-3207
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3207
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Gets an signed integer attribute value.
//!								Uses API elements: NewUintL(), Int() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Execute Int() function and catch a panic and check if panic is thrown out as expected.
//!								4. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3207-0001command1NewUintL
			COMMAND		attrValueUint1	Int
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3207


START_TESTCASE BTSDP-AttrValUint-PublicApi-3208
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3208
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Gets a UUID attribute value.
//!								Uses API elements: NewUintL(), UUID() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Execute UUID() function and catch a panic and check if panic is thrown out as expected.
//!								4. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3208-0001command1NewUintL
			COMMAND		attrValueUint1	UUID
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3208


START_TESTCASE BTSDP-AttrValUint-PublicApi-3209
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3209
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Gets a Boolean attribute value.
//!								Uses API elements: NewUintL(), Bool() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Execute Bool() function and catch a panic and check if panic is thrown out as expected.
//!								4. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3209-0001command1NewUintL
			COMMAND		attrValueUint1	Bool
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3209


START_TESTCASE BTSDP-AttrValUint-PublicApi-3210
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3210
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Test CSdpAttrValue's AcceptVisitorL() function
//!								Uses API elements: NewUintL(), AcceptVisitorL() and destructor
//! @SYMTestActions				1. Read an input integer from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Execute AcceptVisitorL() function and and return TSdpElementType is ETypeUint, integer value.
//!								4. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The correct TSdpElementType and value were returned successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3210-0001command1NewUintL
			COMMAND		attrValueUint1	AcceptVisitorL		BTSDP-AttrValUint-PublicApi-3210-0001command2AcceptVisitorL
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3210


START_TESTCASE BTSDP-AttrValUint-PublicApi-3211
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3211
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an integer value 64 bits.
//!								Uses API elements: NewUintL(), DoesIntFit(), Des() and destructor
//! @SYMTestActions				1. Read an input integer 64 bits from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an integer value 64 bits using DoesIntFit() function.
//!									Test pass if object can be stored in an integer value 64 bits and return ETrue as expected.
//!								4. Test failed if object can't be stored in an integer value 64 bits and return EFalse.
//!								5. Use Des() function to retrieve CSdpAttrValueUint object's data pointer descriptor.
//!								6. Read an input integer 64 bits from test data and compare it with the contents in data pointer descriptor
//!									and check if actual integer value 64 bits is same as expected input integer value 64 bits.
//!								7. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Object can be stored in an integer value 64 bits and return ETrue successfully. 
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3211-0001command1NewUintL
			COMMAND		attrValueUint1	DoesIntFit		BTSDP-AttrValUint-PublicApi-3211-0001command2DoesIntFit
			COMMAND		attrValueUint1	Des		BTSDP-AttrValUint-PublicApi-3211-0001command3Des
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3211


START_TESTCASE BTSDP-AttrValUint-PublicApi-3212
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3212
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an integer value 128 bits.
//!								Uses API elements: NewUintL(), DoesIntFit(), Des() and destructor
//! @SYMTestActions				1. Read an input integer 128 bits from test data if successful.   
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object can be stored in an integer value 128 bits using DoesIntFit() function.
//!									Test pass if object can be stored in an integer value 128 bits and return ETrue as expected.
//!								4. Test failed if object can't be stored in an integer value 128 bits and return EFalse.
//!								5. Use Des() function to retrieve CSdpAttrValueUint object's data pointer descriptor.
//!								6. Read an input integer 64 bits from test data and compare it with the contents in data pointer descriptor
//!									and check if actual integer value 128 bits is same as expected input integer value 128 bits.
//!								7. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	Object can be stored in an integer value 128 bits and return ETrue successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3212-0001command1NewUintL
			COMMAND		attrValueUint1	DoesIntFit		BTSDP-AttrValUint-PublicApi-3212-0001command2DoesIntFit
			COMMAND		attrValueUint1	Des		BTSDP-AttrValUint-PublicApi-3212-0001command3Des
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3212


// ****************************************************************************
// Negative
// ****************************************************************************


START_TESTCASE BTSDP-AttrValUint-PublicApi-3213
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3213
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an negative integer value 16 bits.
//!								Uses API elements: NewUintL(), Uint() and destructor
//! @SYMTestActions				1. Read an input negative integer 16 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object nagtive integer value using Uint() function.
//!								4. Catch a panic and check if panic is thrown out as expected.
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic. Object can not be stored in an negative integer value 16 bits.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3213-0001command1NewUintL
			COMMAND		attrValueUint1	Uint
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Parse

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3213


START_TESTCASE BTSDP-AttrValUint-PublicApi-3214
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3214
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an negative integer value 32 bits.
//!								Uses API elements: NewUintL(), Uint() and destructor
//! @SYMTestActions				1. Read an input negative integer 32 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object nagtive integer value using Uint() function.
//!								4. Catch a panic and check if panic is thrown out as expected.
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic. Object can not be stored in an negative integer value 32 bits.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3214-0001command1NewUintL
			COMMAND		attrValueUint1	Uint
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Parse

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3214


START_TESTCASE BTSDP-AttrValUint-PublicApi-3215
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3215
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Tests if the attribute can be stored in an negative integer value 64 bits.
//!								Uses API elements: NewUintL(), Uint() and destructor
//! @SYMTestActions				1. Read an input negative integer 64 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object nagtive integer value using Uint() function.
//!								4. Catch a panic and check if panic is thrown out as expected.
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic. Object can not be stored in an negative integer value 64 bits.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3215-0001command1NewUintL
			COMMAND		attrValueUint1	Uint
			COMMAND		attrValueUint1	~
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Parse

END_TESTCASE   BTSDP-AttrValUint-PublicApi-3215


//!START_TESTCASE BTSDP-AttrValUint-PublicApi-3216
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3216
//! @SYMAPI						CSdpAttrValueUint
///! @SYMTestCaseDesc			Tests if the attribute can be stored in an negative integer value 128 bits.
//!								Uses API elements: NewUintL(), Uint() and destructor
//! @SYMTestActions				1. Read an input negative integer 128 bits from test data if successful.
//!								2. Allocate and construct a new CSdpAttrValueUint object using NewUintL() function and return KErrNone if successed.
//!								3. Verify the object nagtive integer value using Uint() function.
//!								4. Catch a panic and check if panic is thrown out as expected.
//!								5. Deconstructs CSdpAttrValueUint object.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic. Object can not be stored in an negative integer value 128 bits.
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
//!			COMMAND		attrValueUint1	NewUintL		BTSDP-AttrValUint-PublicApi-3216-0001command1NewUintL
//!			COMMAND		attrValueUint1	Uint
//!			COMMAND		attrValueUint1	~
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValUint-PublicApi-3216


//!START_TESTCASE BTSDP-AttrValUint-PublicApi-3117
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3117
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Get the attribute type
//!								Uses API elements: Type()
//! @SYMTestActions				1. Get the attribute type using Type() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
//!			COMMAND		attrValueUint1	Type
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValUint-PublicApi-3117


//!START_TESTCASE BTSDP-AttrValUint-PublicApi-3118
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3118
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Get the size of the attribute
//!								Uses API elements: DataSize()
//! @SYMTestActions				1. Get the size of the attribute using DataSize() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
//!			COMMAND		attrValueUint1	DataSize
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValUint-PublicApi-3118


//!START_TESTCASE BTSDP-AttrValUint-PublicApi-3119
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3119
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Get the value as a signed integer type
//!								Uses API elements: Uint()
//! @SYMTestActions				1. Get the value as a signed integer type using Uint() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
//!			COMMAND		attrValueUint1	Uint
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValUint-PublicApi-3119


//!START_TESTCASE BTSDP-AttrValUint-PublicApi-3120
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3120
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Test if the attribute can be stored in an integer value
//!								Uses API elements: DoesIntFit()
//! @SYMTestActions				1. Test if the attribute can be stored in an integer value using DoesIntFit() function. 
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
//!			COMMAND		attrValueUint1	DoesIntFit
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValUint-PublicApi-3120


//!START_TESTCASE BTSDP-AttrValUint-PublicApi-3121
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3121
//! @SYMAPI						CSdpAttrValueUint
//! @SYMTestCaseDesc			Get the value as a data buffer
//!								Uses API elements: Des()
//! @SYMTestActions				1. Get the value as a data buffer using Des() function. Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
//!			COMMAND		attrValueUint1	Des
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValUint-PublicApi-3121


//!START_TESTCASE BTSDP-AttrValUint-PublicApi-3122
//! @SYMTestCaseID				BTSDP-AttrValUint-PublicApi-3122
//! @SYMAPI						CSdpAttrValue
//! @SYMTestCaseDesc			Request a call back to pass the attribute value
//!								Uses API elements: AcceptVisitorL()
//! @SYMTestActions				1. Request a call back to pass the attribute value using AcceptVisitorL() function. 
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	CSdpAttrValueUint	attrValueUint1	
//!			COMMAND		attrValueUint1	AcceptVisitorL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE   BTSDP-AttrValUint-PublicApi-3122



// ****************************************************************************
// BTSDP-Database
// ****************************************************************************	

START_TESTCASE BTSDP-Database-PublicApi-3301
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3301
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Allocate and construct a new RSdpDatabase object.
//!								Uses API elements: RSdpDatabase()
//! @SYMTestActions				Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	RSdpDatabase object was allocated successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			COMMAND		database1	Constructor
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3301


START_TESTCASE BTSDP-Database-PublicApi-3302
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3302
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Connects a client process to the database, then opens a SDP database subsession.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Close the SDP database subsession using Close() function.
//!								4. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	RSdpDatabase object was Opened successfully with subsession.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3302-0001command6Open
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE BTSDP-Database-PublicApi-3302


START_TESTCASE BTSDP-Database-PublicApi-3303
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3303
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Creates a new service record, with a single service class, in the SDP database.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Close the SDP database subsession using Close() function.
//!								8. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	The service record was created successfully in SDP database.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3303-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3303-0001command7CreateServiceRecordL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3303


START_TESTCASE BTSDP-Database-PublicApi-3304
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3304
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Deletes a service record.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), DeleteRecordL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Deletes the service record using DeleteRecordL() function and return KErrNone if successed.
//!								8. Close the SDP database subsession using Close() function.
//!								9. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	The service record was deleted successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3304-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3304-0001command7CreateServiceRecordL
			COMMAND		database1	DeleteRecordL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3304


START_TESTCASE BTSDP-Database-PublicApi-3305
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3305
//! @SYMAPI						RSdpDatabase, CSdpAttrValueDES
//! @SYMTestCaseDesc			Creates a new service record, with multiple service classes, in the SDP database.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), DeleteRecordL() ,Close() and NewDESL()
//! @SYMTestActions				1. Allocate and construct a new CSdpAttrValueDES object using NewDESL() function and return KErrNone if successed.
//!								2. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								3. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								4. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								5. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								6. Read the CSdpAttrValueDES object from test data if successful.
//!								7. Creates a new service record with multiple service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								8. Close the SDP database subsession using Close() function.
//!								9. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	The Service record with multiple service classes was created successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
			COMMAND		attrValueDES	NewDESL
			COMMAND		attrValueDES	BuildUUIDL		BTSDP-Database-PublicApi-3305-0001command3BuildUUIDL
			COMMAND		attrValueDES	BuildUUIDL		BTSDP-Database-PublicApi-3305-0001command4BuildUUIDL
			COMMAND		attrValueDES	BuildUUIDL		BTSDP-Database-PublicApi-3305-0001command5BuildUUIDL
			COMMAND		attrValueDES	BuildUUIDL		BTSDP-Database-PublicApi-3305-0001command6BuildUUIDL
			COMMAND		attrValueDES	BuildUUIDL		BTSDP-Database-PublicApi-3305-0001command7BuildUUIDL
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3305-0001command13Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3305-0001command14CreateServiceRecordL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
			COMMAND		attrValueDES	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3305


START_TESTCASE BTSDP-Database-PublicApi-3306
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3306
//! @SYMAPI						RSdpDatabase, CSdpAttrValueInt
//! @SYMTestCaseDesc			Updates a service record attribute with a value encapsulated in a CSdpAttrValue.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), UpdateAttributeL(), NewIntL() and Close()
//! @SYMTestActions				1. Allocate and construct a new CSdpAttrValueInt object using NewIntL() function and return KErrNone if successed.
//!								2. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								3. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								4. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								5. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								6. Read an input service record UUID from test data if successful.
//!								7. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								8. Read an input attribute ID from test data if successful.
//!								9. Read the CSdpAttrValueInt object from test data if successful.
//!								10.Updates a service record attribute with a value encapsulated in a CSdpAttrValueInt using UpdateAttributeL() function and return KErrNone if successed.
//!								11.Close the SDP database subsession using Close() function.
//!								12.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	The service record with attribute ID and attribute value encapsulated in the CSdpAttrValueInt was updated successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			CREATE_OBJECT	CSdpAttrValueInt	attrValueInt	
			COMMAND		attrValueInt	NewIntL		BTSDP-Database-PublicApi-3306-0001command2NewIntL
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3306-0001command8Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3306-0001command9CreateServiceRecordL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3306-0001command10UpdateAttributeL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3306


START_TESTCASE BTSDP-Database-PublicApi-3307
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3307
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Delete an attribute from a service record.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), UpdateAttributeL(), DeleteAttributeL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Read an input attribute ID from test data if successful.
//!								8. Read a narrow descriptor from test data if successful.
//!								9. Updates a service record attribute with a narrow descriptor using UpdateAttributeL() function and return KErrNone if successed.
//!								10.Delete an attribute from a service record using DeleteAttributeL() function and return KErrNone if successed.
//!								11.Close the SDP database subsession using Close() function.
//!								12.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	The attribute on a servie reocrd was deleted successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3307-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3307-0001command7CreateServiceRecordL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3307-0001command8UpdateAttributeL
			COMMAND		database1	DeleteAttributeL		BTSDP-Database-PublicApi-3307-0001command9DeleteAttributeL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3307


START_TESTCASE BTSDP-Database-PublicApi-3308
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3308
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Updates a service record attribute with an integer value.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), UpdateAttributeL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Read an input attribute ID from test data if successful.
//!								8. Read an integer value from test data if successful.
//!								9. Updates a service record attribute with an integer value using UpdateAttributeL() function and return KErrNone if successed.
//!								10.Close the SDP database subsession using Close() function.
//!								11.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The service record with attribute ID and an integer value was updated successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3308-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3308-0001command7CreateServiceRecordL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3308-0001command8UpdateAttributeL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3308


START_TESTCASE BTSDP-Database-PublicApi-3309
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3309
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Updates a service record attribute with a TDesC8 value.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), UpdateAttributeL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Read an input attribute ID from test data if successful.
//!								8. Read a narrow descriptor (TDesC8) from test data if successful.
//!								9. Updates a service record attribute with a narrow descriptor (TDesC8) using UpdateAttributeL() function and return KErrNone if successed.
//!								10.Close the SDP database subsession using Close() function.
//!								11.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The service record with attribute ID and a narrow descriptor (TDesC8) was updated successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3309-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3309-0001command7CreateServiceRecordL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3309-0001command8UpdateAttributeL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3309


START_TESTCASE BTSDP-Database-PublicApi-3310
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3310
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Updates a service record attribute with a TDesC16 value.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), UpdateAttributeL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Read an input attribute ID from test data if successful.
//!								8. Read a narrow descriptor (TDesC16) from test data if successful.
//!								9. Updates a service record attribute with a narrow descriptor (TDesC16) using UpdateAttributeL() function and return KErrNone if successed.
//!								10.Close the SDP database subsession using Close() function.
//!								11.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The service record with attribute ID and a narrow descriptor (TDesC16) was updated successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3310-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3310-0001command7CreateServiceRecordL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3310-0001command8UpdateAttributeL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3310


START_TESTCASE BTSDP-Database-PublicApi-3311
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3311
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Gets the version of the database server.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), Version() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Get the version of the database server using Version() function. Test Pass if expected version name,
//!									build number, major number and minor number are same as actual version name, actual build number,
//!									major number and minor number.
//!								6. Test fail if version name or build number or major number or minor number is not same as expected.
//!								7. Close the SDP database subsession using Close() function.
//!								8. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The actual Version name, build number, major number and minor number are same as expected successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3311-0001command6Open
			COMMAND		rsdp	Version		BTSDP-Database-PublicApi-3311-0001command8Version
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3311


START_TESTCASE BTSDP-Database-PublicApi-3312
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3312
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Starts the counter to keep track of open subsessions.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), ResourceCountMarkStart(), ResourceCountMarkEnd() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Start the counter to keep track of open subsessions using ResourceCountMarkStart() function.
//!								6. Stop the counter using ResourceCountMarkEnd() function.
//!								7. Close the SDP database subsession using Close() function.
//!								8. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The resource counter start successfully and stop successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3312-0001command6Open
			COMMAND		rsdp	ResourceCountMarkStart
			COMMAND		rsdp	ResourceCountMarkEnd
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3312


START_TESTCASE BTSDP-Database-PublicApi-3313
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3313
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Gets the number of open subsessions to the database.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), ResourceCountMarkStart(), ResourceCountMarkEnd(), ResourceCount() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Start the counter to keep track of open subsessions using ResourceCountMarkStart() function.
//!								6. Get the number of open subsessions on the database using ResourceCount() function. Test pass if expected
//!									resource counter number is same as actual resource counter number.
//!								7. Test fail if expected resource counter is not same as actual resource counter.
//!								8. Stop the counter using ResourceCountMarkEnd() function.
//!								9. Close the SDP database subsession using Close() function.
//!								10.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The actual resource counter number is same as expected successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3313-0001command6Open
			COMMAND		rsdp	ResourceCountMarkStart
			COMMAND		rsdp	ResourceCount		BTSDP-Database-PublicApi-3313-0001command9ResourceCount
			COMMAND		rsdp	ResourceCountMarkEnd
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3313

START_TESTCASE BTSDP-Database-PublicApi-3314
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3314
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Multiple records being added to the database, then deleted them from database
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), DeleteRecordL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read Multiple input service record UUIDs from test data if successful.
//!								6. Creates multiple new service records with the service record UUIDs using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Deletes the service records using DeleteRecordL() function and return KErrNone if successed.
//!								8. Close the SDP database subsession using Close() function.
//!								9. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Multiple records being added to the database and deleted successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3314-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3314-0001command7CreateServiceRecordL
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3314-0001command8CreateServiceRecordL
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3314-0001command9CreateServiceRecordL
			COMMAND		database1	DeleteRecordL
			COMMAND		database1	DeleteRecordL
			COMMAND		database1	DeleteRecordL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3314


START_TESTCASE BTSDP-Database-PublicApi-3315
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3315
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Multiple attributes being added to a service record, then updated each attribute with properly value. Finally deleted all attributes.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), UpdateAttributeL(), DeleteAttributeL() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Read multiple attribute IDs from test data if successful.
//!								8. Read multiple values from test data if successful.
//!								9. Updates a service record attribute with values using UpdateAttributeL() function and return KErrNone if successed.
//!								10.Read multiple attribute IDs again from test data if successful.
//!								11.Read multiple values again from test data if successful.
//!								12.Updates multiple service record attributes again with values using UpdateAttributeL() function and return KErrNone if successed.
//!								13.Delete multiple attributes from service record using DeleteAttributeL() function and return KErrNone if successed.
//!								14.Close the SDP database subsession using Close() function.
//!								15.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	Multiple attributes being added to a service reocrd, then updated each attribute successfully. Finally deleted all attribute.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3315-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3315-0001command7CreateServiceRecordL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3315-0001command8UpdateAttributeL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3315-0001command9UpdateAttributeL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3315-0001command10UpdateAttributeL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3315-0001command11UpdateAttributeL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3315-0001command12UpdateAttributeL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3315-0001command13UpdateAttributeL
			COMMAND		database1	DeleteAttributeL		BTSDP-Database-PublicApi-3315-0001command14DeleteAttributeL
			COMMAND		database1	DeleteAttributeL		BTSDP-Database-PublicApi-3315-0001command15DeleteAttributeL
			COMMAND		database1	DeleteAttributeL		BTSDP-Database-PublicApi-3315-0001command16DeleteAttributeL
			COMMAND		database1	DeleteRecordL
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3315


// ****************************************************************************
// Negative test cases
// ****************************************************************************

//!START_TESTCASE BTSDP-Database-PublicApi-3316
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3316
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Open a SDP database subsession
//!								Uses API elements: Open()
//! @SYMTestActions				1. Open a SDP database subsession using Open() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			CREATE_OBJECT	RSdp	rsdp	
//!			COMMAND		database1	Open		BTSDP-Database-PublicApi-3316-0001command1Open
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3316


//!START_TESTCASE BTSDP-Database-PublicApi-3317
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3317
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Close the SDP database subsession
//!								Uses API elements: Close()
//! @SYMTestActions				1. Close the SDP database subsession using Close() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	Close
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3317


//!START_TESTCASE BTSDP-Database-PublicApi-3318
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3318
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Create a new service record, with a single service class, in the SDP database
//!								Uses API elements: CreateServiceRecordL()
//! @SYMTestActions				1. Create a new service record, with a single service class, in the SDP database using CreateServiceRecordL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3318-0001command1CreateServiceRecordL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3318


//!START_TESTCASE BTSDP-Database-PublicApi-3319
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3319
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Create a new service record, with multiple service classes, in the SDP database
//!								Uses API elements: CreateServiceRecordL()
//! @SYMTestActions				1. Create a new service record, with multiple service classes, in the SDP database using CreateServiceRecordL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			CREATE_OBJECT	CSdpAttrValueDES	attrValueDES	
//!			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3319-0001command1CreateServiceRecordL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3319


//!START_TESTCASE BTSDP-Database-PublicApi-3320
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3320
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Update a service record attribute (value encapsulated in a CSdpAttrValue)
//!								Uses API elements: UpdateAttributeL()
//! @SYMTestActions				1. Update a service record attribute (value encapsulated in a CSdpAttrValue) using UpdateAttributeL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			CREATE_OBJECT	CSdpAttrValueInt	attrValueInt	
//!			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3320-0001command1UpdateAttributeL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3320


//!START_TESTCASE BTSDP-Database-PublicApi-3321
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3321
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Update a service record attribute (integer value)
//!								Uses API elements: UpdateAttributeL()
//! @SYMTestActions				1. Update a service record attribute (integer value) using UpdateAttributeL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3321-0001command1UpdateAttributeL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3321


//!START_TESTCASE BTSDP-Database-PublicApi-3322
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3322
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Update a service record attribute (narrow descriptor value)
//!								Uses API elements: UpdateAttributeL()
//! @SYMTestActions				1. Update a service record attribute (narrow descriptor value) using UpdateAttributeL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3322-0001command1UpdateAttributeL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3322


//!START_TESTCASE BTSDP-Database-PublicApi-3323
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3323
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Update a service record attribute (narrow descriptor value)
//!								Uses API elements: UpdateAttributeL()
//! @SYMTestActions				1. Update a service record attribute (narrow descriptor value) using UpdateAttributeL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3323-0001command1UpdateAttributeL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3323


//!START_TESTCASE BTSDP-Database-PublicApi-3324
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3324
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Delete an attribute from a service record
//!								Uses API elements: DeleteAttributeL()
//! @SYMTestActions				1. Delete an attribute from a service record using DeleteAttributeL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	DeleteAttributeL		BTSDP-Database-PublicApi-3324-0001command1DeleteAttributeL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3324


//!START_TESTCASE BTSDP-Database-PublicApi-3325
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3325
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Delete a service record
//!								Uses API elements: DeleteRecordL()
//! @SYMTestActions				1. Delete a service record using DeleteRecordL() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	DeleteRecordL
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3325



// ****************************************************************************
// BTSDP-Rsdp
// ****************************************************************************	

START_TESTCASE BTSDP-Rsdp-PublicApi-3401
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3401
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Allocate and construct a new RSdp object.
//!								Uses API elements: RSdp()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	RSdp object was allocated successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdp	rsdp1	
			COMMAND		rsdp1	Constructor
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Rsdp-PublicApi-3401


START_TESTCASE BTSDP-Rsdp-PublicApi-3402
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3402
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Connect a client process to the database.
//!								Uses API elements: RSdp(), Connect() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Connect to the database was successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdp	rsdp1	
			COMMAND		rsdp1	Constructor
			COMMAND		rsdp1	Connect
			OUTSTANDING
			COMMAND		rsdp1	Close
	END_TEST_BLOCK

END_TESTCASE BTSDP-Rsdp-PublicApi-3402


START_TESTCASE BTSDP-Rsdp-PublicApi-3403
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3403
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Get the version of the database server.
//!								Uses API elements: RSdp(), Connect(), Version() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Get the version of the database server using Version() function. Test Pass if expected version name,
//!									build number, major number and minor number are same as actual version name, actual build number,
//!									major number and minor number.
//!								4. Test fail if version name or build number or major number or minor number is not same as expected.
//!								5. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The actual Version name, build number, major number and minor number are same as expected successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdp	rsdp1	
			COMMAND		rsdp1	Constructor
			COMMAND		rsdp1	Connect
			OUTSTANDING
			COMMAND		rsdp1	Version		BTSDP-Rsdp-PublicApi-3403-0001command3Version
			COMMAND		rsdp1	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Rsdp-PublicApi-3403


START_TESTCASE BTSDP-Rsdp-PublicApi-3404
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3404
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Get the number of open subsessions on the database.
//!								Uses API elements: RSdp(), Connect(), ResourceCountMarkStart(), ResourceCountMarkEnd(), ResourceCount() and Close()
//! @SYMTestActions				1. 1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Start the counter to keep track of open subsessions using ResourceCountMarkStart() function.
//!								4. Get the number of open subsessions on the database using ResourceCount() function. Test pass if expected
//!									resource counter number is same as actual resource counter number.
//!								5. Test fail if expected resource counter is not same as actual resource counter.
//!								6. Stop the counter using ResourceCountMarkEnd() function.
//!								7. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	The actual resource counter number is same as expected successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdp	rsdp1	
			COMMAND		rsdp1	Constructor
			COMMAND		rsdp1	Connect
			OUTSTANDING
			COMMAND		rsdp1	ResourceCountMarkStart
			COMMAND		rsdp1	ResourceCount		BTSDP-Rsdp-PublicApi-3404-0001command4ResourceCount
			COMMAND		rsdp1	ResourceCountMarkEnd
			COMMAND		rsdp1	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Rsdp-PublicApi-3404


// ****************************************************************************
// Negative test cases
// ****************************************************************************

//!START_TESTCASE BTSDP-Rsdp-PublicApi-3405
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3405
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Connect a client process to the database.
//!								Uses API elements: Connect()
//! @SYMTestActions				1. Connect a client process to the database using Connect() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdp	rsdp1	
//!			COMMAND		rsdp1	Connect
//!			OUTSTANDING
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Rsdp-PublicApi-3405


//!START_TESTCASE BTSDP-Rsdp-PublicApi-3406
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3406
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Start the counter to keep track of open subsessions
//!								Uses API elements: ResourceCountMarkStart()
//! @SYMTestActions				1. Starts the counter to keep track of open subsessions using ResourceCountMarkStart() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdp	rsdp1	
//!			COMMAND		rsdp1	ResourceCountMarkStart
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Rsdp-PublicApi-3406


//!START_TESTCASE BTSDP-Rsdp-PublicApi-3407
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3407
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Stop the counter to keep track of open subsessions
//!								Uses API elements: ResourceCountMarkEnd()
//! @SYMTestActions				1. Stop the counter to keep track of open subsessions using ResourceCountMarkEnd() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdp	rsdp1	
//!			COMMAND		rsdp1	ResourceCountMarkEnd
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Rsdp-PublicApi-3407


//!START_TESTCASE BTSDP-Rsdp-PublicApi-3408
//! @SYMTestCaseID				BTSDP-Rsdp-PublicApi-3408
//! @SYMAPI						RSdp
//! @SYMTestCaseDesc			Get the number of open subsessions to the database
//!								Uses API elements: ResourceCount()
//! @SYMTestActions				1. Get the number of open subsessions to the database using ResourceCount() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdp	rsdp1	
//!			COMMAND		rsdp1	ResourceCount
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Rsdp-PublicApi-3408

START_TESTCASE BTSDP-Util-PublicApi-2203
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2203
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Put an unsigned 64 bit integer into a descriptor
//!									Uses API elements: PutUint64()
//! @SYMTestActions					1. Read an unsigned 64 bit integer from test data if successful
//!									2. Put the unsigned 64 bit integer into a descriptor using PutUint64() function
//!									3. Calculate the expected value and test pass if the pointer to the descriptor's data field is as expected
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Pointer to the descriptor's data field was matched to the expected value
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	PutUint64		BTSDP-Util-PublicApi-2203-0001command1PutUint64
	END_TEST_BLOCK

END_TESTCASE BTSDP-Util-PublicApi-2203


START_TESTCASE BTSDP-Util-PublicApi-2205
//! @SYMTestCaseID					BTSDP-Util-PublicApi-2205
//! @SYMAPI							SdpUtil
//! @SYMTestCaseDesc				Put two unsigned 64 bit integers into a descriptor
//!									Uses API elements: PutUint128()
//! @SYMTestActions					1. Read a 64 lower bits and a 64 higher bits of a 128 bit integer from test data if successful
//!									2. Put the two unsigned 64 bit integers into a descriptor using PutUint128() function
//!									3. Calculate the expected value and test pass if the pointer to the descriptor's data field is as expected
//! @SYMTestStatus					Implemented
//! @SYMTestPriority				Low
//! @SYMTestExpectedResults			Pointer to the descriptor's data field was matched to the expected value
//! @SYMTestType					CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	SdpUtil	sdputil1	
			COMMAND		sdputil1	PutUint128		BTSDP-Util-PublicApi-2205-0001command1PutUint128
	END_TEST_BLOCK

END_TESTCASE BTSDP-Util-PublicApi-2205


START_TESTCASE BTSDP-Database-PublicApi-3326
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3326
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Deletes a service record.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), DeleteRecord() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Deletes the service record using DeleteRecord() function and return KErrNone if successed.
//!								8. Close the SDP database subsession using Close() function.
//!								9. Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	The service record was deleted successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3326-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3326-0001command7CreateServiceRecordL
			COMMAND		database1	DeleteRecord
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3326


START_TESTCASE BTSDP-Database-PublicApi-3327
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3327
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Delete an attribute from a service record.
//!								Uses API elements: Rsdp(), RSdpDatabase(), Connect(), Open(), CreateServiceRecordL(), UpdateAttributeL(), DeleteAttribute() and Close()
//! @SYMTestActions				1. Allocate and construct a new RSdp object using RSdp() function and return KErrNone if successed.
//!								2. Connect a client process to the database using Connect() function and return KErrNone if successed.
//!								3. Allocate and construct a new RSdpDatabase object using RSdpDatabase() function and return KErrNone if successed.
//!								4. Opens a SDP database subsession using Open() function and return KErrNone if successed.
//!								5. Read an input service record UUID from test data if successful.
//!								6. Creates a new service record with the service record UUID using CreateServiceRecordL() function and return KErrNone if successed.
//!								7. Read an input attribute ID from test data if successful.
//!								8. Read a narrow descriptor from test data if successful.
//!								9. Updates a service record attribute with a narrow descriptor using UpdateAttributeL() function and return KErrNone if successed.
//!								10.Delete an attribute from a service record using DeleteAttribute() function and return KErrNone if successed.
//!								11.Close the SDP database subsession using Close() function.
//!								12.Close the client process using Close() function.
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults  	The attribute on a servie reocrd was deleted successfully.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
			CREATE_OBJECT	RSdpDatabase	database1	
			CREATE_OBJECT	RSdp	rsdp	
			COMMAND		rsdp	Constructor
			COMMAND		rsdp	Connect
			OUTSTANDING
			COMMAND		database1	Constructor
			COMMAND		database1	Open		BTSDP-Database-PublicApi-3327-0001command6Open
			COMMAND		database1	CreateServiceRecordL		BTSDP-Database-PublicApi-3327-0001command7CreateServiceRecordL
			COMMAND		database1	UpdateAttributeL		BTSDP-Database-PublicApi-3327-0001command8UpdateAttributeL
			COMMAND		database1	DeleteAttribute		BTSDP-Database-PublicApi-3327-0001command9DeleteAttribute
			COMMAND		database1	Close
			COMMAND		rsdp	Close
	END_TEST_BLOCK

END_TESTCASE   BTSDP-Database-PublicApi-3327


// ****************************************************************************
// Negative test cases
// ****************************************************************************

//!START_TESTCASE BTSDP-Database-PublicApi-3328
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3328
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Delete a service record
//!								Uses API elements: DeleteRecord()
//! @SYMTestActions				1. Delete a service record using DeleteRecord() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	DeleteRecord
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3328


//!START_TESTCASE BTSDP-Database-PublicApi-3329
//! @SYMTestCaseID				BTSDP-Database-PublicApi-3329
//! @SYMAPI						RSdpDatabase
//! @SYMTestCaseDesc			Delete an attribute from a service record
//!								Uses API elements: DeleteAttribute()
//! @SYMTestActions				1. Delete an attribute from a service record using DeleteAttribute() function.
//!								   Catch a panic if panic is thrown out
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults  	Caught the panic
//! @SYMTestType				CIT

//!	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-SearchPattern-PublicApi-Unconnected.ini
//!			CREATE_OBJECT	RSdpDatabase	database1	
//!			COMMAND		database1	DeleteAttribute		BTSDP-Database-PublicApi-3329-0001command1DeleteAttribute
//!	END_TEST_BLOCK	!PanicCode=3	!PanicString=KERN-EXEC

//!END_TESTCASE BTSDP-Database-PublicApi-3329



DELAY		2000