locationrequestmgmt/networkrequesthandler/LBSPrivacyNotification/LbsPrivacyExtNotifiers/test/lbsprivacyextnotifierstest.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 11:13:47 +0300
branchRCL_3
changeset 39 a3482a8f15d8
parent 0 9cfd9a3ee49c
permissions -rw-r--r--
Revision: 201014 Kit: 2010123

// 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:
// This test exercises the data types used to pass data to/from
// the Lbs privacy notification dialogs via the RNotifier API.
// 
//

#include <e32debug.h>
#include <e32test.h>
#include <lbs/lbsprivacyextnotifiers.h>

_LIT(KTestName, "Exercising the data types in LbsPrivacyExtNotifiers.h");
LOCAL_D RTest test(KTestName);


LOCAL_C void TestTLbsPrivacyNotifierParams()
	{
	// First test setting the parameter data.
	TLbsPrivacyNotifierParams params;
	TLbsExternalRequestInfo info;
	
	_LIT8(KRequesterId, "ExtRequest_1");
	_LIT8(KClientName, "ExtClient_1");
	_LIT8(KClientExternalId, "+4401484341822");
	
	info.SetRequesterId(KRequesterId());
	info.SetClientName(KClientName());
	info.SetClientExternalId(KClientExternalId());
	
	params.SetRequesterInfo(info);
	
	// Second test that getting the parameter data works.
	TLbsExternalRequestInfo info2;
	
	params.GetRequesterInfo(info2);

	TLbsRequesterId requesterId;
	TLbsClientName clientName;
	TLbsClientExternalId clientExternalId;
	
	info2.GetRequesterId(requesterId);
	info2.GetClientName(clientName);
	info2.GetClientExternalId(clientExternalId);
	
	test(requesterId == KRequesterId());
	test(clientName == KClientName());
	test(clientExternalId == KClientExternalId());
	}
	
LOCAL_C void TestTLbsPrivacyResponseParams()
	{
	// First test setting the parameter data.
	TLbsPrivacyResponseParams params;
	TLbsPrivacyNotifierResponse response(EResponseAccepted);
	
	params.SetResponseType(response);
	
	// Second test that getting the parameter data works.
	TLbsPrivacyNotifierResponse response2;
	
	params.GetResponseType(response2);
	
	test(response == response2);
	}
	
void doMainL()
	{
	test.Next(_L("Exercising TLbsPrivacyNotifierParams"));
	TestTLbsPrivacyNotifierParams();
	
	test.Next(_L("Exercising TLbsPrivacyNotifierParams"));
	TestTLbsPrivacyResponseParams();
	}

/*
Program entry point.
*/
GLDEF_C int E32Main()
	{
	__UHEAP_MARK;
	
	test.Title();
	test.Start(KTestName);
		
	CTrapCleanup* cleanup = CTrapCleanup::New();
	if (!cleanup)
		{
		return KErrNoMemory;
		}
		
	CActiveScheduler * scheduler = new (ELeave) CActiveScheduler;
	CActiveScheduler::Install(scheduler);

	TRAPD(err, doMainL());
	test.Printf(_L("Test finished with code %d\n"), err);
	test(err == KErrNone);

	delete scheduler;
	delete cleanup;
	
	test.End();
	test.Close();
	
	__UHEAP_MARKEND;
	return 0;	
	}