diff -r 61e9400fe245 -r 0cb2248d0edc apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testpositionquality.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testpositionquality.cpp Thu Apr 22 17:15:08 2010 +0530 @@ -0,0 +1,581 @@ +/* +* 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 TPositionClassTypeBase, TPositionQualityBase +* & TPositionQuality classes +* +*/ + + +// System Includes +#include +#include +#include +#include +#include +#include +#include "testlbslocacquisition.h" + +#include +#include +#include +#include + + + + +// User Includes +#include "testpositionquality.h" + +// Constant Declarations + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// C++ Default Constructor +// --------------------------------------------------------------------------- +// +TTestPositionQuality ::TTestPositionQuality (CStifLogger* aLog):iLog(aLog) + { + + } + +// --------------------------------------------------------------------------- +// C++ Destructor +// --------------------------------------------------------------------------- +// +TTestPositionQuality ::~TTestPositionQuality () + { + + } + + +// --------------------------------------------------------------------------- +// Test case for PositionClassType +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: GetPositionClassType() + { + TPositionQuality pos; + TUint32 classType = pos.PositionClassType(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// Test case for PositionClassSize +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: GetPositionClassSize() + { + TPositionQuality pos; + TUint classSize = pos.PositionClassSize(); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// Test case for Compare +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: DoCompare() + + { + + TPositionQuality posQuality; + TPositionQualityItem::TResult aComparison; + TInt aHighIndex; + aHighIndex = posQuality.HighWaterMark(); + TInt compResult = posQuality.Compare(posQuality,aHighIndex+1,aComparison); + if(!compResult) + { + return KErrNone; + } + else + return compResult; + + + } + + +// --------------------------------------------------------------------------- +// Test case for IsDefined +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: GetIsDefined() + { + TPositionQuality posQuality; + TInt elementId = 2; + TBool defined = posQuality.IsDefined(elementId); + return KErrNone; + } + + + + +// --------------------------------------------------------------------------- +// Test case for getting the HighWaterMark +// --------------------------------------------------------------------------- +TInt TTestPositionQuality ::GetHighWaterMark() + { + TPositionQuality pos; + TInt highWaterMark = pos.HighWaterMark(); + if(highWaterMark) + { + return KErrNone; + } + else + return KErrGeneral; + + } +// --------------------------------------------------------------------------- +// Test case for default constructor of TPositionQuality class +// --------------------------------------------------------------------------- +TInt TTestPositionQuality ::DefaultPositionQuality() + { + TPositionQuality pos; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// Test case for setting & gettting the time to first fix +// --------------------------------------------------------------------------- +TInt TTestPositionQuality ::SetGetTimeToFirstFix(TTimeIntervalMicroSeconds time) + { + + TPositionQuality posquality; + posquality.SetTimeToFirstFix(time); + TTimeIntervalMicroSeconds time3 = posquality.TimeToFirstFix(); + if(time3==time) + { + + return KErrNone; + + } + + else + return KErrGeneral; + } + + +// --------------------------------------------------------------------------- +// Test case for setting & gettting the time to next fix +// --------------------------------------------------------------------------- +TInt TTestPositionQuality ::SetGetTimeToNextFix(TTimeIntervalMicroSeconds time) + { + + TPositionQuality posquality; + posquality.SetTimeToNextFix(time); + TTimeIntervalMicroSeconds time3 = posquality.TimeToNextFix(); + if(time3==time) + { + + return KErrNone; + + } + + else + return KErrGeneral; + } + + + +// --------------------------------------------------------------------------- +// Test case for setting & gettting the horizontal accuracy +// --------------------------------------------------------------------------- +TInt TTestPositionQuality ::SetGetHorizontalAccuracy(TReal32 haccuracy) + { + + TPositionQuality posquality; + posquality.SetHorizontalAccuracy(haccuracy); + TReal32 haccuracy1 = posquality.HorizontalAccuracy(); + if(haccuracy1==haccuracy) + { + + return KErrNone; + + } + + else + return KErrGeneral; + } + + + +// --------------------------------------------------------------------------- +// Test case for setting & gettting the vertical accuracy +// --------------------------------------------------------------------------- +TInt TTestPositionQuality ::SetGetVerticalAccuracy(TReal32 vaccuracy) + { + + TPositionQuality posquality; + posquality.SetVerticalAccuracy(vaccuracy); + TReal32 vaccuracy1 = posquality.VerticalAccuracy(); + if(vaccuracy1==vaccuracy) + { + + return KErrNone; + + } + + else + return KErrGeneral; + } + + +// --------------------------------------------------------------------------- +// Test case for setting & gettting the cost indicator +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: SetGetCostIndicator(CStifItemParser& aItem) + { + TInt cost = 0; + TPositionQuality pos; + + TInt err = aItem.GetNextInt(cost); + if(!err) + { + TPositionQuality::TCostIndicator costInd = TPositionQuality::ECostUnknown; + switch(cost) + { + case 0: costInd = TPositionQuality::ECostUnknown; + break; + case 1: costInd = TPositionQuality::ECostZero; + break; + case 2: costInd = TPositionQuality::ECostPossible; + break; + case 3: costInd = TPositionQuality::ECostCharge; + break; + default: break; + + } + pos.SetCostIndicator(costInd); + + TPositionQuality::TCostIndicator costIndicator = pos.CostIndicator(); + if(costIndicator==costInd) + { + return KErrNone; + } + else + return KErrGeneral; + + } + else + return KErrGeneral; + } + +// --------------------------------------------------------------------------- +// Test case for setting & gettting the power consumption +// --------------------------------------------------------------------------- + TInt TTestPositionQuality :: SetGetPowerConsumption(CStifItemParser& aItem) + { + TInt powercons = 0; + TPositionQuality pos; + + TInt err = aItem.GetNextInt(powercons); + if(!err) + { + TPositionQuality::TPowerConsumption powerconsum1 = TPositionQuality::EPowerUnknown; + switch(powercons) + { + case 0: powerconsum1 = TPositionQuality::EPowerUnknown; + break; + case 1: powerconsum1 = TPositionQuality::EPowerZero; + break; + case 2: powerconsum1 = TPositionQuality::EPowerLow; + break; + case 3: powerconsum1 = TPositionQuality::EPowerMedium; + break; + case 4: powerconsum1 = TPositionQuality::EPowerHigh; + break; + default: break; + + } + pos.SetPowerConsumption(powerconsum1); + + TPositionQuality::TPowerConsumption powerconsum2 = pos.PowerConsumption(); + if(powerconsum2==powerconsum1) + { + return KErrNone; + } + else + return KErrGeneral; + + + } + else + return KErrGeneral; + + + } + + + +// --------------------------------------------------------------------------- +// Test case for constructor of TPositionModuleInfo +// --------------------------------------------------------------------------- + +TInt TTestPositionQuality ::PositionModuleInfoConst() + { + TPositionModuleInfo pos; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// Test case for setting & getting ModuleId +// --------------------------------------------------------------------------- + +TInt TTestPositionQuality ::SetGetModuleId() + { + TPositionModuleId KPositionNullModuleId = {KNullUidValue}; + TPositionModuleInfo posmodinfo; + posmodinfo.SetModuleId(KPositionNullModuleId); + TPositionModuleId KPositionNullModuleId1 = posmodinfo.ModuleId(); + if(KPositionNullModuleId1==KPositionNullModuleId) + { + return KErrNone; + } + else + return KErrGeneral; + + } + + +// --------------------------------------------------------------------------- +// Test case for setting & getting ModuleName +// --------------------------------------------------------------------------- + +TInt TTestPositionQuality::SetGetModuleName(CStifItemParser& aItem) + { + TPtrC ptr1; + TBuf<200> buf; + TInt error = aItem.GetNextString(ptr1); + TPositionModuleInfo posmodinfo; + posmodinfo.SetModuleName(ptr1); + posmodinfo.GetModuleName(buf); + if(buf==ptr1) + { + return KErrNone; + } + else + return KErrGeneral; + + + } + + + // --------------------------------------------------------------------------- +// Test case for checking if module is available +// --------------------------------------------------------------------------- + TInt TTestPositionQuality::SetGetIsAvailable(CStifItemParser& aItem) + { + TInt available = 0; + TInt error = aItem.GetNextInt(available); + TPositionModuleInfo posmodinfo; + if(!error) + { + posmodinfo.SetIsAvailable(available); + TBool check = posmodinfo.IsAvailable(); + if(check==available) + { + return KErrNone; + } + else + return KErrGeneral; + } + else + return KErrGeneral; + + } + +// --------------------------------------------------------------------------- +// Test case for setting & getting TechnologyType +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: SetGetTechnologyType(CStifItemParser& aItem) + { + TInt techType1 = 0; + TPositionModuleInfo pos; + TInt error = aItem.GetNextInt(techType1); + + if(!error) + { + TPositionModuleInfo::TTechnologyType techType2 = TPositionModuleInfo::ETechnologyUnknown; + switch(techType1) + { + case 0: techType2 = TPositionModuleInfo::ETechnologyUnknown; + break; + case 1: techType2 = TPositionModuleInfo::ETechnologyTerminal; + break; + case 2: techType2 = TPositionModuleInfo::ETechnologyNetwork; + break; + case 3: techType2 = TPositionModuleInfo::ETechnologyAssisted; + break; + default:break; + + } + pos.SetTechnologyType(techType2); + TPositionModuleInfo::TTechnologyType techType3 = pos.TechnologyType(); + if(techType3==techType2) + { + return KErrNone; + } + else + return KErrGeneral; + } + else + return KErrGeneral; + + } +// --------------------------------------------------------------------------- +// Test case for setting & getting DeviceLocation +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: SetGetDeviceLocation(CStifItemParser& aItem) + { + TInt devLoc1 = 0; + TPositionModuleInfo pos; + TInt error = aItem.GetNextInt(devLoc1); + + if(!error) + { + TPositionModuleInfo::TDeviceLocation devLoc2 = TPositionModuleInfo::EDeviceUnknown; + switch(devLoc1) + { + case 0: devLoc2 = TPositionModuleInfo::EDeviceUnknown; + break; + case 1: devLoc2 = TPositionModuleInfo::EDeviceInternal; + break; + case 2: devLoc2 = TPositionModuleInfo::EDeviceExternal; + break; + + default:break; + + } + pos.SetDeviceLocation(devLoc2); + TPositionModuleInfo::TDeviceLocation devLoc3 = pos.DeviceLocation(); + if(devLoc3==devLoc2) + { + return KErrNone; + + } + else + return KErrGeneral; + + + } + else + return KErrGeneral; + + } + + // --------------------------------------------------------------------------- +// Test case for setting & getting Capabilities +// --------------------------------------------------------------------------- +TInt TTestPositionQuality :: SetGetCapabilities(CStifItemParser& aItem) + { + TInt capability1 = 0; + TPositionModuleInfo pos; + TInt error = aItem.GetNextInt(capability1); + + if(!error) + { + TPositionModuleInfo::TCapabilities capability2 = TPositionModuleInfo::ECapabilityNone; + switch(capability1) + { + case 0: capability2 = TPositionModuleInfo::ECapabilityNone; + break; + case 1: capability2 = TPositionModuleInfo::ECapabilityHorizontal; + break; + case 2: capability2 = TPositionModuleInfo::ECapabilityVertical; + break; + case 3: capability2 = TPositionModuleInfo::ECapabilitySpeed; + break; + case 4: capability2 = TPositionModuleInfo::ECapabilityDirection; + break; + case 5: capability2 = TPositionModuleInfo::ECapabilitySatellite; + break; + case 6: capability2 = TPositionModuleInfo::ECapabilityCompass ; + break; + case 7: capability2 = TPositionModuleInfo::ECapabilityNmea ; + break; + case 8: capability2 = TPositionModuleInfo::ECapabilityAddress ; + break; + case 9: capability2 = TPositionModuleInfo::ECapabilityBuilding; + break; + case 10:capability2 = TPositionModuleInfo::ECapabilityMedia ; + break; + default:break; + + } + pos.SetCapabilities(capability2); + TPositionModuleInfo::TCapabilities capability3 = pos.Capabilities(); + if(capability3==capability2) + { + return KErrNone; + + } + else + return KErrGeneral; + + + } + else + return KErrGeneral; + + } + + + // --------------------------------------------------------------------------- +// Test case for setting & getting Classes Supported +// --------------------------------------------------------------------------- + TInt TTestPositionQuality ::SetGetClassesSupported(TPositionClassFamily posClassType,TUint32 posInfoClasstype) + { + TPositionModuleInfo posModuleInfo; + //TPositionClassFamily posClassType1; + posModuleInfo.SetClassesSupported(posClassType,posInfoClasstype); + TUint32 getClassType = posModuleInfo.ClassesSupported(posClassType); + if(getClassType == 0) + { + _LIT(KErrMsg3,"TPositionModuleInfo::ClassesSupported() returned with :"); + TBuf8<80> errMsg3; + errMsg3.Copy(KErrMsg3); + errMsg3.AppendNum(getClassType); + iLog->Log(errMsg3); + return getClassType; + } + return KErrNone; + } + + // --------------------------------------------------------------------------- +// Test case for setting & getting Version +// --------------------------------------------------------------------------- + + + TInt TTestPositionQuality :: SetGetVersion(CStifItemParser& aItem) + { + TInt major = 0; + TInt minor = 0; + TInt build = 0; + TInt err1 = aItem.GetNextInt(major); + TInt err2 = aItem.GetNextInt(minor); + TInt err3 = aItem.GetNextInt(build); + TPositionModuleInfo posModuleInfo; + + if(!err1 && !err2 && !err3) + { + TVersion version(major,minor,build); + posModuleInfo.SetVersion(version); + TVersion ver = posModuleInfo.Version(); + if((ver.iMajor==major)&&(ver.iMinor==minor)&&(ver.iBuild==build)) + { + return KErrNone; + } + else + return KErrGeneral; + } + else + return KErrGeneral; + }