bluetoothapitest/bluetoothsvs/T_BTSdpAPI/scripts/BTSDP-Agent-PublicApi-Unconnected.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 11:01:00 +0300
branchRCL_3
changeset 22 786b94c6f0a4
parent 0 29b1cd4cb562
permissions -rw-r--r--
Revision: 201031 Kit: 201033

//
// 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 CSdpAttrIdMatchList class
//!								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			27/09/2006
///////////////////////////////////////////////////////////////////////////////


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

LOAD_SUITE	T_BTSdpAPI	-SharedData
DELAY		500


// ****************************************************************************
// CSdpAttrValueNil unconnected tests
// **************************************************************************** 

START_TESTCASE BTSDP-AttrValNil-PublicApi-0101
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0101
//! @SYMAPI						CSdpAttrValueNil
//! @SYMTestCaseDesc			Creation of a CSdpAttrValueNil attribute
//!								Uses API elements: NewNilL() and ~CSdpAttrValueNil()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Delete CSdpAttrValueNil object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		CSdpAttrValueNil object was created successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0101


START_TESTCASE BTSDP-AttrValNil-PublicApi-0102
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0102
//! @SYMAPI						CSdpAttrValueNil
//! @SYMTestCaseDesc			Get CSdpAttrValueNil data size
//!								Uses API elements: NewNilL(), DataSize() and ~CSdpAttrValueNil()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Get the size of CSdpAttrValueNil object. Verify the correctness of the size.
//!								3. Delete CSdpAttrValueNil object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Returned CSdpAttrValueNil object size (always be 0) successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	DataSize		BTSDP-AttrValNil-PublicApi-0102-0001command2DataSize
			COMMAND		attrvaluenil1	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValNil-PublicApi-0102


START_TESTCASE BTSDP-AttrValNil-PublicApi-0103
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0103
//! @SYMAPI						CSdpAttrValueNil
//! @SYMTestCaseDesc			Get CSdpAttrValueNil data element type
//!								Uses API elements: NewNilL(), Type() and ~CSdpAttrValueNil()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Get the element type of CSdpAttrValueNil object. Verify the correctness of the type.
//!								3. Delete CSdpAttrValueNil object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		Returned the element type of CSdpAttrValueNil successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	Type		BTSDP-AttrValNil-PublicApi-0103-0001command2Type
			COMMAND		attrvaluenil1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0103


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

START_TESTCASE BTSDP-AttrValNil-PublicApi-0104
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0104
//! @SYMAPI						CSdpAttrValueNil, CSdpAttrValue and MSdpAttributeValueVisitor
//! @SYMTestCaseDesc			Request a call back to pass CSdpAttrValueNil attribute value.
//!								Uses API elements: NewNilL(), AcceptVisitorL(), VisitAttributeValueL() 
//!								and ~CSdpAttrValueNil()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Request a call back to pass CSdpAttrValueNil object
//!								3. Call AcceptVisitorL() function inherited from CSdpAttrValue.
//!								   CT_DataSdpAttrValueNil contains the implementation of MSdpAttributeValueVisitor.
//!								   So, pass CT_DataSdpAttrValueNil object itself as the visitor into the function.
//!								   Verify the printed results of the visitor in test log.
//!								4. Delete CSdpAttrValueNil object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			High
//! @SYMTestExpectedResults		Attribute type and value correctly printed by the Valuevisitor 
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	AcceptVisitorL		BTSDP-AttrValNil-PublicApi-0104-0001command2AcceptVisitorL
			COMMAND		attrvaluenil1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0104


START_TESTCASE BTSDP-AttrValNil-PublicApi-0105
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0105
//! @SYMAPI						CSdpAttrValueNil and CSdpAttrValue
//! @SYMTestCaseDesc			Test CSdpAttrValue's Bool() function
//!								Uses API elements: NewNilL() and Bool()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Call the virtual function Bool() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	Bool
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0105


START_TESTCASE BTSDP-AttrValNil-PublicApi-0106
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0106
//! @SYMAPI						CSdpAttrValueNil and CSdpAttrValue
//! @SYMTestCaseDesc			Get the value of the referenced data object from the prewirte buffer
//!								Uses API elements: NewNilL() and Des()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Call the virtual function Des() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	Des
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0106


START_TESTCASE BTSDP-AttrValNil-PublicApi-0107
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0107
//! @SYMAPI						CSdpAttrValueNil and CSdpAttrValue
//! @SYMTestCaseDesc			Test if CSdpAttrValueNil attribute can hold an integer value
//!								Uses API elements: NewNilL(), DoesIntFit() and ~CSdpAttrValueNil()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Call DoesIntFit() and verify that CSdpAttrValueNil object cannot be held by integer 
//!								3. Delete CSdpAttrValueNil object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		CSdpAttrValueNil attribute cannot be held by integer
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	DoesIntFit		BTSDP-AttrValNil-PublicApi-0107-0001command2DoesIntFit
			COMMAND		attrvaluenil1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0107


START_TESTCASE BTSDP-AttrValNil-PublicApi-0108
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0108
//! @SYMAPI						CSdpAttrValueNil and CSdpAttrValue
//! @SYMTestCaseDesc			Test CSdpAttrValue's Int() function
//!								Uses API elements: NewNilL() and Int()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Call the virtual function Int() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	Int
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0108


START_TESTCASE BTSDP-AttrValNil-PublicApi-0109
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0109
//! @SYMAPI						CSdpAttrValueNil and CSdpAttrValue
//! @SYMTestCaseDesc			Test CSdpAttrValue's UUID() function
//!								Uses API elements: NewNilL() and UUID()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Call the virtual function UUID() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	UUID
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0109


START_TESTCASE BTSDP-AttrValNil-PublicApi-0110
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0110
//! @SYMAPI						CSdpAttrValueNil and CSdpAttrValue
//! @SYMTestCaseDesc			Test CSdpAttrValue's Uint() function
//!								Uses API elements: NewNilL() and Uint()
//! @SYMTestActions				1. Construct a CSdpAttrValueNil object with a null value
//!								2. Call the virtual function Uint() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	NewNilL
			COMMAND		attrvaluenil1	Uint
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0110


START_TESTCASE BTSDP-AttrValNil-PublicApi-0114
//! @SYMTestCaseID				BTSDP-AttrValNil-PublicApi-0114
//! @SYMAPI						CSdpAttrValueNil and CSdpAttrValue
//! @SYMTestCaseDesc			Test for CSdpAttrValueNil's deconstructor
//!								Uses API elements: ~CSdpAttrValueNil()
//! @SYMTestActions				1. Call ~CSdpAttrValueNil() without constructing the object first
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		no error or panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueNil	attrvaluenil1	
			COMMAND		attrvaluenil1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValNil-PublicApi-0114



// ****************************************************************************
// CSdpAttrValueBoolean unconnected tests
// **************************************************************************** 

START_TESTCASE BTSDP-AttrValBool-PublicApi-0001
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0001
//! @SYMAPI						CSdpAttrValueBoolean
//! @SYMTestCaseDesc			Creation of a CSdpAttrValueBoolean attribute
//!								Uses API elements: NewBoolL() and ~CSdpAttrValueBoolean()
//! @SYMTestActions				1. Construct a CSdpAttrValueBoolean object with a TRUE value
//!								2. Delete CSdpAttrValueBoolean object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		CSdpAttrValueBoolean object was created successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0001-0001command1NewBoolL
			COMMAND		attrvalueboolean	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0001


START_TESTCASE BTSDP-AttrValBool-PublicApi-0002
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0002
//! @SYMAPI						CSdpAttrValueBoolean
//! @SYMTestCaseDesc			Fetch CSdpAttrValueBoolean data size
//!								Uses API elements: NewBoolL(), DataSize() and ~CSdpAttrValueBoolean()
//! @SYMTestActions				1. Construct a CSdpAttrValueBoolean object with a TRUE value
//!								2. Get the size of CSdpAttrValueBoolean object. Verify the correctness of the size.
//!								2. Delete CSdpAttrValueBoolean object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Returned CSdpAttrValueBoolean object size successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0002-0001command1NewBoolL
			COMMAND		attrvalueboolean	DataSize		BTSDP-AttrValBool-PublicApi-0002-0001command2DataSize
			COMMAND		attrvalueboolean	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValBool-PublicApi-0002


START_TESTCASE BTSDP-AttrValBool-PublicApi-0003
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0003
//! @SYMAPI						CSdpAttrValueBoolean
//! @SYMTestCaseDesc			Get the element type of CSdpAttrValueBoolean
//!								Uses API elements: NewBoolL(), Type() and ~CSdpAttrValueBoolean()
//! @SYMTestActions				1. Create a CSdpAttrValueBoolean object with a TRUE value
//!								2. Get the element type of CSdpAttrValueBoolean object. Verify the correctness of the type.
//!								2. Delete CSdpAttrValueBoolean object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			High
//! @SYMTestExpectedResults		Returned CSdpAttrValueBoolean's element type successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0003-0001command1NewBoolL
			COMMAND		attrvalueboolean	Type		BTSDP-AttrValBool-PublicApi-0003-0001command2Type
			COMMAND		attrvalueboolean	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0003


START_TESTCASE BTSDP-AttrValBool-PublicApi-0004
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0004
//! @SYMAPI						CSdpAttrValueBoolean
//! @SYMTestCaseDesc			Get CSdpAttrValueBoolean value
//!								Uses API elements: NewBoolL(), Bool() and ~CSdpAttrValueBoolean()
//! @SYMTestActions				1. Construct a CSdpAttrValueBoolean object with a TRUE value
//!								2. Retrieve the bool from CSdpAttrValueBoolean object and verify it contains a TRUE value
//!								2. Delete CSdpAttrValueBoolean object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		Returned the correct value from CSdpAttrValueBoolean 
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0004-0001command1NewBoolL
			COMMAND		attrvalueboolean	Bool		BTSDP-AttrValBool-PublicApi-0004-0001command2Bool
			COMMAND		attrvalueboolean	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrValBool-PublicApi-0004

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

START_TESTCASE BTSDP-AttrValBool-PublicApi-0005
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0005
//! @SYMAPI						CSdpAttrValueBoolean, CSdpAttrValue and MSdpAttributeValueVisitor
//! @SYMTestCaseDesc			Request a call back to pass the attribute value
//!								Uses API elements: NewBoolL(), AcceptVisitorL(), VisitAttributeValueL() 
//!								and ~CSdpAttrValueBoolean()
//! @SYMTestActions				1. Create a CSdpAttrValueBoolean object with a TRUE value
//!								2. Request a call back to pass CSdpAttrValueBoolean value
//!								3. Call MSdpAttributeValueVisitor::VisitAttributeValueL() function to pass
//!								   CSdpAttrValueBoolean object itself. Verify the test log contains the correct print out. 
//!								4. Delete CSdpAttrValueBoolean object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		Shows the correct attribute type and value in test log
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0005-0001command1NewBoolL
			COMMAND		attrvalueboolean	AcceptVisitorL		BTSDP-AttrValBool-PublicApi-0005-0001command2AcceptVisitorL
			COMMAND		attrvalueboolean	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0005


START_TESTCASE BTSDP-AttrValBool-PublicApi-0006
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0006
//! @SYMAPI						CSdpAttrValueBoolean and CSdpAttrValue
//! @SYMTestCaseDesc			Get the value of the referenced data object from the prewirte buffer
//!								Uses API elements: NewBoolL() and Des()
//! @SYMTestActions				1. Create a CSdpAttrValueBoolean object with a TRUE value
//!								2. Call the virtual function Des() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		A panic with a value of 0 should be caught because Des() is a pure virtual function
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0006-0001command1NewBoolL
			COMMAND		attrvalueboolean	Des
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0006


START_TESTCASE BTSDP-AttrValBool-PublicApi-0007
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0007
//! @SYMAPI						CSdpAttrValueBoolean and CSdpAttrValue
//! @SYMTestCaseDesc			Test if CSdpAttrValueBoolean can hold an integer value
//!								Uses API elements: NewBoolL(), DoesIntFit() and ~CSdpAttrValueBoolean
//! @SYMTestActions				1. Create a CSdpAttrValueBoolean object with a TRUE value
//!								2. Verify that CSdpAttrValueBoolean object cannot fit into an integer. The function 
//!								   DoesIntFit should return EFalse.
//!								3. Delete CSdpAttrValueBoolean object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		CSdpAttrValueBoolean object cannot fit into an integer
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0007-0001command1NewBoolL
			COMMAND		attrvalueboolean	DoesIntFit		BTSDP-AttrValBool-PublicApi-0007-0001command2DoesIntFit
			COMMAND		attrvalueboolean	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0007


START_TESTCASE BTSDP-AttrValBool-PublicApi-0008
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0008
//! @SYMAPI						CSdpAttrValueBoolean and CSdpAttrValue
//! @SYMTestCaseDesc			Test CSdpAttrValue's Int() function
//!								Uses API elements: NewBoolL() and Int()
//! @SYMTestActions				1. Create a CSdpAttrValueBoolean object with a TRUE value
//!								2. Call the virtual function Int() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0008-0001command1NewBoolL
			COMMAND		attrvalueboolean	Int
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0008


START_TESTCASE BTSDP-AttrValBool-PublicApi-0009
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0009
//! @SYMAPI						CSdpAttrValueBoolean and CSdpAttrValue
//! @SYMTestCaseDesc			Test CSdpAttrValue's UUID() function
//!								Uses API elements: NewBoolL() and UUID()
//! @SYMTestActions				1. Create a CSdpAttrValueBoolean object with a TRUE value
//!								2. Call the virtual function UUID() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0009-0001command1NewBoolL
			COMMAND		attrvalueboolean	UUID
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0009


START_TESTCASE BTSDP-AttrValBool-PublicApi-0010
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0010
//! @SYMAPI						CSdpAttrValueBoolean and CSdpAttrValue
//! @SYMTestCaseDesc			Test CSdpAttrValue's Uint() function
//!								Uses API elements: NewBoolL() and Uint()
//! @SYMTestActions				1. Create a CSdpAttrValueBoolean object with a TRUE value
//!								2. Call the virtual function Uint() inherited from CSdpAttrValue which causes a panic
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught a panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	NewBoolL		BTSDP-AttrValBool-PublicApi-0010-0001command1NewBoolL
			COMMAND		attrvalueboolean	Uint
	END_TEST_BLOCK	!PanicCode=0	!PanicString=SDP-Database

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0010


START_TESTCASE BTSDP-AttrValBool-PublicApi-0015
//! @SYMTestCaseID				BTSDP-AttrValBool-PublicApi-0015
//! @SYMAPI						CSdpAttrValueBoolean and CSdpAttrValue
//! @SYMTestCaseDesc			Test for CSdpAttrValueBoolean's deconstructor
//!								Uses API elements: ~CSdpAttrValueBoolean()
//! @SYMTestActions				1. Calling ~CSdpAttrValueBoolean() without constructing the object first
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		No error or panic
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrValueBoolean	attrvalueboolean	
			COMMAND		attrvalueboolean	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrValBool-PublicApi-0015




// ****************************************************************************
// CSdpAttrIdMatchList unconnected tests
// **************************************************************************** 

START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0201
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0201
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Creation of an empty CSdpAttrIdMatchList object
//!								Uses API elements: NewL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct a new CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		CSdpAttrIdMatchList object is created successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0201



START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0202
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0202
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Creation of a CSdpAttrIdMatchList object as a copy of another CSdpAttrIdMatchList
//!								Uses API elements: both versions of NewL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Allocate and construct a new CSdpAttrIdMatchList object as a copy of
//!						   		another CSdpAttrIdMatchList that is created in preceding step
//!								3. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		CSdpAttrIdMatchList object is created successfully
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist2	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist2	NewL		BTSDP-AttrIdMatchList-PublicApi-0202-0001command3NewL
			COMMAND		attridmatchlist2	~
	END_TEST_BLOCK

END_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0202


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0203
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0203
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Add an ID to the list
//!								Uses API elements: NewL(), AddL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults		The ID is added to the list
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0203-0001command2AddL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0203


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0204
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0204
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Add a range of IDs to the list
//!								Uses API elements: NewL(), AddL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								3. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		The range of IDs is added to the list
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0204-0001command2AddL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0204


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0205
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0205
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Remove an ID from the list
//!								Uses API elements: NewL(), AddL(), RemoveL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								3. Remove an ID that is within the range of IDs added in step 2. Verify the resulting err code is KErrNone. 
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			High
//! @SYMTestExpectedResults		The ID is removed from the list
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0205-0001command2AddL
			COMMAND		attridmatchlist1	RemoveL		BTSDP-AttrIdMatchList-PublicApi-0205-0001command3RemoveL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0205


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0206
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0206
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Remove a range of IDs from the list
//!								Uses API elements: NewL(), AddL(), RemoveL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								3. Remove a range of IDs that is added in step 2 from the list. Verify the resulting err code is KErrNone.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults		The range of IDs is removed from the list
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0206-0001command2AddL
			COMMAND		attridmatchlist1	RemoveL		BTSDP-AttrIdMatchList-PublicApi-0206-0001command3RemoveL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0206


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0207
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0207
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Test if the specified attribute ID is in the list
//!								Uses API elements: NewL(), AddL(), RemoveL(), InMatchList() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								3. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								4. Check if an attribute ID that is added in step 2 is in the list
//!								5. Remove a range of IDs that is added the ID in step 2 from the list. Verify the resulting err code is KErrNone.
//!								6. Check if the attribute ID is in the list again
//!								7. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults		Setp 4 returns True (Attr ID is found), but step 6 returns False (Atttr ID not found)
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0207-0001command2AddL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0207-0001command3AddL
			COMMAND		attridmatchlist1	InMatchList		BTSDP-AttrIdMatchList-PublicApi-0207-0001command4InMatchList
			COMMAND		attridmatchlist1	RemoveL		BTSDP-AttrIdMatchList-PublicApi-0207-0001command5RemoveL
			COMMAND		attridmatchlist1	InMatchList		BTSDP-AttrIdMatchList-PublicApi-0207-0001command6InMatchList
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0207


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0209
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0209
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Get the number of attributes IDs in the list
//!								Uses API elements: NewL(), AddL(), RemoveL(), Count() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								3. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								4. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								5. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								6. Get the number of attributes IDs in the list. Verify the correctness of the number.
//!								7. Remove an ID that is added in step 3 from the list. Verify the resulting err code is KErrNone.
//!								8. Get the number of attributes IDs in the list. Verify the correctness of the number.
//!								9. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			High
//! @SYMTestExpectedResults		Return the correct number of attributes IDs in the list
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0209-0001command2AddL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0209-0001command3AddL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0209-0001command4AddL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0209-0001command5AddL
			COMMAND		attridmatchlist1	Count		BTSDP-AttrIdMatchList-PublicApi-0209-0001command6Count
			COMMAND		attridmatchlist1	RemoveL		BTSDP-AttrIdMatchList-PublicApi-0209-0001command7RemoveL
			COMMAND		attridmatchlist1	Count		BTSDP-AttrIdMatchList-PublicApi-0209-0001command8Count
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0209


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0210
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0210
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildBooleanL() function to add a Boolean element
//!								Uses API elements: NewL(), AddL(), BuildBooleanL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildBooleanL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0210-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildBooleanL		BTSDP-AttrIdMatchList-PublicApi-0210-0001command3BuildBooleanL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0210


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0211
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0211
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Test MSdpElementBuilder's BuildDEAL() function
//!								Uses API elements: NewL(), AddL(), BuildDEAL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildDEAL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0211-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildDEAL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0211


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0212
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0212
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildIntL() function to add a signed integer element
//!								Uses API elements: NewL(), AddL(), BuildIntL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildIntL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0212-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildIntL		BTSDP-AttrIdMatchList-PublicApi-0212-0001command3BuildIntL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0212


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0213
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0213
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildNilL() function to add a null element
//!								Uses API elements: NewL(), AddL(), BuildNilL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object.Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list.Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildNilL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0213-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildNilL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0213


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0214
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0214
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildStringL() function to add a Text String element
//!								Uses API elements: NewL(), AddL(), BuildStringL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildStringL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0214-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildStringL		BTSDP-AttrIdMatchList-PublicApi-0214-0001command3BuildStringL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0214


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0215
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0215
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildURLL() function to add a URL element
//!								Uses API elements: NewL(), AddL(), BuildURLL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildURLL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0215-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildURLL		BTSDP-AttrIdMatchList-PublicApi-0215-0001command3BuildURLL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0215


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0216
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0216
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildUUIDL() function to add a UUID element
//!								Uses API elements: NewL(), AddL(), BuildUUIDL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildUUIDL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0216-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildUUIDL		BTSDP-AttrIdMatchList-PublicApi-0216-0001command3BuildUUIDL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0216


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0217
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0217
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildUnknownL() function to add an element of any type
//!								Uses API elements: NewL(), AddL(), BuildUnknownL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								3. Call MSdpElementBuilder's BuildUnknownL() function. The error KErrGeneral is expected
//!								   from this function call.
//!								4. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Caught the error KErrGeneral
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0217-0001command2AddL
			COMMAND	!Error=-2	attridmatchlist1	BuildUnknownL		BTSDP-AttrIdMatchList-PublicApi-0217-0001command3BuildUnknownL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0217

START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0218
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0216
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildUUIDL() function to add a UUID element
//!								Uses API elements: NewL(), AddL(), BuildUUIDL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Call MSdpElementBuilder's BuildDESL() function and return KErrNone if succeeded
//!								3. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		function call should return KErrNone 
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	BuildDESL
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0218


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0219
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0217
//! @SYMAPI						CSdpAttrIdMatchList and MSdpElementBuilder
//! @SYMTestCaseDesc			Call MSdpElementBuilder's BuildUnknownL() function to add an element of any type
//!								Uses API elements: NewL(), AddL(), BuildUnknownL() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object
//!								2. Call MSdpElementBuilder's BuildDESL() function and return KErrNone if succeeded
//!								3. Call MSdpElementBuilder's StartListL() function to make the list ready to accept elements.
//!								   Return KErrNone if succeeded.
//!								4. Add element by calling MSdpElementBuilder's BuildUintL() and return KErrNone if succeeded
//!								5. Call CSdpAttrIdMatchList's InMatchList() to find the element added in step 4
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		Uint Element should be added to the list and found by InMatchList()
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	BuildDESL
			COMMAND		attridmatchlist1	StartListL
			COMMAND		attridmatchlist1	BuildUintL		BTSDP-AttrIdMatchList-PublicApi-0219-0001command4BuildUintL
			COMMAND		attridmatchlist1	InMatchList		BTSDP-AttrIdMatchList-PublicApi-0219-0001command5InMatchList
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0219


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0226
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0226
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Test for CSdpAttrIdMatchList's deconstructor
//!								Uses API elements: ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Call ~CSdpAttrIdMatchList() without constructing the object first
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Low
//! @SYMTestExpectedResults		no panic or error
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0226





// ****************************************************************************
// CSdpAgent unconnected tests
// **************************************************************************** 


START_TESTCASE	BTSDP-Agent-PublicApi-Unconnected-0301
//! @SYMTestCaseID				BTSDP-Agent-PublicApi-Unconnected-0301
//! @SYMAPI						CSdpAgent
//! @SYMTestCaseDesc			Negative test for CSdpAgent's NewL()
//!								Uses API elements: 	NewL() from CSdpAgent
//! @SYMTestActions				1. Construct a CSdpAgent object with a wrong bt-address. Verify the resulting err code is KErrNone.
//!								2. The NewL() should fail.
//!
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults		NewL() should fail 
//! @SYMTestType				CIT

	START_TEST_BLOCK	100	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAgent	TBTSdpagent	
			CREATE_OBJECT	CSdpSearchPattern	TBTSearchpattern1	
			CREATE_OBJECT	CSdpAttrValueDES	TBTAttrValueDES1	
			COMMAND		TBTSearchpattern1	NewL
			COMMAND		TBTSearchpattern1	ConstructL
			COMMAND		TBTSearchpattern1	AddL		BTSDP-Agent-PublicApi-Unconnected-0301-0001command4AddL
			COMMAND		TBTAttrValueDES1	NewDESL
			COMMAND		TBTSdpagent	NewL		BTSDP-Agent-PublicApi-Unconnected-0301-0001command8NewL
			COMMAND		TBTSdpagent	SetRecordFilterL		BTSDP-Agent-PublicApi-Unconnected-0301-0001command9SetRecordFilterL
			COMMAND	!AsyncError=-6004	TBTSdpagent	NextRecordRequestL
			OUTSTANDING	10000
			COMMAND		TBTSdpagent	~
	END_TEST_BLOCK
END_TESTCASE	BTSDP-Agent-PublicApi-Unconnected-0301


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0208
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0208
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Test if the specified attribute ID is in the list, and gets its position
//!								Uses API elements: NewL(), AddL(), RemoveL(), InMatchList() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								3. Add an ID to the list. Verify the resulting err code is KErrNone.
//!								4. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								5. Check if an attribute ID is added in step 3 is in the list, and get
//!						   		   its position.
//!								6. Remove an ID that is added in step 3 from the list. Verify the resulting err code is KErrNone.
//!								7. Check if the attribute ID that is added in step 4 is in the list
//!								8. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Critical
//! @SYMTestExpectedResults		Attr ID should be found in step 5 and 7. Function returns True and the correct position.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0208-0001command2AddL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0208-0001command3AddL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0208-0001command4AddL
			COMMAND		attridmatchlist1	InMatchListRange		BTSDP-AttrIdMatchList-PublicApi-0208-0001command5InMatchListRange
			COMMAND		attridmatchlist1	RemoveL		BTSDP-AttrIdMatchList-PublicApi-0208-0001command6RemoveL
			COMMAND		attridmatchlist1	InMatchListRange		BTSDP-AttrIdMatchList-PublicApi-0208-0001command7InMatchListRange
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0208


START_TESTCASE BTSDP-AttrIdMatchList-PublicApi-0220
//! @SYMTestCaseID				BTSDP-AttrIdMatchList-PublicApi-0220
//! @SYMAPI						CSdpAttrIdMatchList
//! @SYMTestCaseDesc			Try searching and removing element which doesn't exist in the list
//!								Uses API elements: NewL(), RemoveL(), InMatchListRange() and ~CSdpAttrIdMatchList()
//! @SYMTestActions				1. Allocate and construct an empty CSdpAttrIdMatchList object. Verify the resulting err code is KErrNone.
//!								2. Add a range of IDs to the list. Verify the resulting err code is KErrNone.
//!								3. Search for element which doesn't exist.
//!								4. Remove an element which doesn't exist. Verify the resulting err code is KErrNone.
//!								5. Verify that the element added in step 2 still exists
//!								6. Delete CSdpAttrIdMatchList object
//! @SYMTestStatus				Implemented
//! @SYMTestPriority			Medium
//! @SYMTestExpectedResults		Element which doesn't exist shouldn't be found. RemoveL should have no effect in step 4.
//! @SYMTestType				CIT

	START_TEST_BLOCK	10	T_BTSdpAPI	\bluetooth\sdp\BTSDP-Agent-PublicApi-Unconnected.ini
			CREATE_OBJECT	CSdpAttrIdMatchList	attridmatchlist1	
			COMMAND		attridmatchlist1	NewL
			COMMAND		attridmatchlist1	AddL		BTSDP-AttrIdMatchList-PublicApi-0220-0001command2AddL
			COMMAND		attridmatchlist1	InMatchListRange		BTSDP-AttrIdMatchList-PublicApi-0220-0001command3InMatchListRange
			COMMAND		attridmatchlist1	RemoveL		BTSDP-AttrIdMatchList-PublicApi-0220-0001command4RemoveL
			COMMAND		attridmatchlist1	InMatchListRange		BTSDP-AttrIdMatchList-PublicApi-0220-0001command5InMatchListRange
			COMMAND		attridmatchlist1	~
	END_TEST_BLOCK

END_TESTCASE   BTSDP-AttrIdMatchList-PublicApi-0220

DELAY		2000