--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testposition.cpp Thu Apr 22 17:15:08 2010 +0530
@@ -0,0 +1,247 @@
+/*
+* Copyright (c) 2007 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: Helper class for TPosition class
+*
+*/
+
+
+// System Includes
+
+
+// User Includes
+#include "testposition.h"
+#include <e32std.h>
+
+// Constant Declarations
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// C++ Default Constructor
+// ---------------------------------------------------------------------------
+//
+TTestPosition ::TTestPosition (CStifLogger* aLog):iLog(aLog)
+ {
+
+ }
+
+// ---------------------------------------------------------------------------
+// C++ Destructor
+// ---------------------------------------------------------------------------
+//
+TTestPosition ::~TTestPosition ()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// This method calls the respective constructor based on the number of arguments
+// -----------------------------------------------------------------------------
+//
+TInt TTestPosition ::CreatePosition(CStifItemParser& aItem)
+ {
+ TLocality locality;
+ TInt time = 0;
+ TInt error = aItem.GetNextInt(time);
+
+ TTime time1(time);
+ if(!error)
+ {
+ return Position1(locality,time1);
+ }
+ else
+ return DefaultConstructor();
+
+ }
+
+// ---------------------------------------------------------
+// Test case for Default Constructor of TPosition
+// ---------------------------------------------------------
+//
+TInt TTestPosition :: DefaultConstructor()
+ {
+ TPosition position;
+
+ return KErrNone;
+ }
+// ---------------------------------------------------------
+// Test case for constructor of TPosition with locality object
+// ----------------------------------------------------------
+
+TInt TTestPosition :: Position1(TLocality& locality,TTime time)
+ {
+ TPosition position(locality,time);
+ if(position.Time()!=time)
+ {
+ return KErrGeneral;
+ }
+ else
+ return KErrNone;
+ }
+// ---------------------------------------------------------
+// Test case for setting & getting the time
+// ----------------------------------------------------------
+TInt TTestPosition :: SetGetTime(CStifItemParser& aItem)
+ {
+
+ TPosition position;
+ TInt time = 0;
+ TInt error = aItem.GetNextInt(time);
+
+ TTime time1(time);
+ if(!error)
+ {
+ position.SetTime(time1);
+ if(position.Time()==time1)
+ {
+ return KErrNone;
+
+ }
+ else return KErrGeneral;
+ }
+ else
+ return KErrGeneral;
+ }
+
+// ---------------------------------------------------------
+// Test case for setting current time
+// ----------------------------------------------------------
+
+TInt TTestPosition :: SettingTime()
+ {
+ TPosition position;
+ position.SetCurrentTime();
+
+ TTime uniTime;
+ uniTime.UniversalTime();
+
+ TTimeIntervalSeconds last;
+ uniTime.SecondsFrom(position.Time(), last);
+ if(last <= TTimeIntervalSeconds(1))
+ {
+ return KErrNone;
+ }
+ else
+ return KErrGeneral;
+
+
+
+
+ }
+
+
+
+
+// ---------------------------------------------------------
+// Test case for checking Speed method
+// ----------------------------------------------------------
+
+TInt TTestPosition :: GetSpeed(CStifItemParser& aItem)
+ {
+ TInt lat1 = 0;
+ TInt lon1 = 0;
+ TInt lat2 = 0;
+ TInt lon2 = 0;
+ TInt haccuracy1 = 0;
+ TInt haccuracy2 = 0;
+ TInt time1 = 0;
+ TInt time2 = 0;
+ TInt err1 = aItem.GetNextInt(lat1);
+ TInt err2 = aItem.GetNextInt(lon1);
+ TInt err3 = aItem.GetNextInt(lat2);
+ TInt err4 = aItem.GetNextInt(lon2);
+ TInt err5 = aItem.GetNextInt(haccuracy1);
+ TInt err6 = aItem.GetNextInt(haccuracy2);
+ TInt err7 = aItem.GetNextInt(time1);
+ TInt err8 = aItem.GetNextInt(time2);
+ TTime time3(time1);
+ TTime time4(time2);
+ TReal32 speed;
+
+ if(!err1 && !err2 && !err3 && !err4 && !err5 && !err6 && !err7 && !err8)
+ {
+
+ TCoordinate co_ord1(lat1,lon1);
+ TCoordinate co_ord2(lat2,lon2);
+ TLocality locality1(co_ord1,haccuracy1);
+ TLocality locality2(co_ord2,haccuracy2);
+ TPosition position1(locality1,time3);
+ TPosition position2(locality2,time4);
+ TInt error = position1.Speed(position2,speed);
+ if(!error)
+ {
+ return KErrNone;
+ }
+ else
+ return error;
+ }
+ else
+ return KErrArgument;
+
+
+ }
+
+
+// ---------------------------------------------------------
+// Test case for checking Speed method with accuracy
+// ----------------------------------------------------------
+
+TInt TTestPosition :: GetSpeed1(CStifItemParser& aItem)
+ {
+ TInt lat1 = 0;
+ TInt lon1 = 0;
+ TInt lat2 = 0;
+ TInt lon2 = 0;
+ TInt haccuracy1 = 0;
+ TInt haccuracy2 = 0;
+ TInt time1 = 0;
+ TInt time2 = 0;
+ TInt err1 = aItem.GetNextInt(lat1);
+ TInt err2 = aItem.GetNextInt(lon1);
+ TInt err3 = aItem.GetNextInt(lat2);
+ TInt err4 = aItem.GetNextInt(lon2);
+ TInt err5 = aItem.GetNextInt(haccuracy1);
+ TInt err6 = aItem.GetNextInt(haccuracy2);
+ TInt err7 = aItem.GetNextInt(time1);
+ TInt err8 = aItem.GetNextInt(time2);
+ TTime time3(time1);
+ TTime time4(time2);
+ TReal32 speed;
+ TReal32 delta;
+
+ if(!err1 && !err2 && !err3 && !err4 && !err5 && !err6 && !err7 && !err8)
+ {
+
+ TCoordinate co_ord1(lat1,lon1);
+ TCoordinate co_ord2(lat2,lon2);
+ TLocality locality1(co_ord1,haccuracy1);
+ TLocality locality2(co_ord2,haccuracy2);
+ TPosition position1(locality1,time3);
+ TPosition position2(locality2,time4);
+ TInt error = position1.Speed(position2,speed,delta);
+ if(!error)
+ {
+ return KErrNone;
+ }
+ else
+ return error;
+ }
+ else
+ return KErrArgument;
+
+
+ }
+
+