bluetoothapitest/bluetoothsvs/T_BTSdpAPI/scripts/BTSDP-SearchPattern-PublicApi-Unconnected.script
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothapitest/bluetoothsvs/T_BTSdpAPI/scripts/BTSDP-SearchPattern-PublicApi-Unconnected.script	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,3814 @@
+//
+// 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