diff -r 61e9400fe245 -r 0cb2248d0edc apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testcriteria.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testcriteria.cpp Thu Apr 22 17:15:08 2010 +0530 @@ -0,0 +1,603 @@ +/* +* 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 TPositionSelectionOrder,TPositionCriteriaBase +* & TPositionCriteria class +* +*/ + + +// System Includes + + +// User Includes +#include "testcriteria.h" +#include + +// Constant Declarations + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// C++ Default Constructor +// --------------------------------------------------------------------------- +// +TTestCriteria ::TTestCriteria (CStifLogger* aLog):iLog(aLog) + { + + } + +// --------------------------------------------------------------------------- +// C++ Destructor +// --------------------------------------------------------------------------- +// +TTestCriteria ::~TTestCriteria () + { + + } + + +// --------------------------------------------------------- +// Test case for Default Constructor of TPositionSelectionOrder +// --------------------------------------------------------- +// +TInt TTestCriteria :: DefaultPositionSelectionOrder() + { + TPositionSelectionOrder posSelOrder; + + return KErrNone; + } + +// --------------------------------------------------------- +// Test case for SetOrderTimeToFirstFix +// --------------------------------------------------------- +// +TInt TTestCriteria :: DoSetOrderTimeToFirstFix(CStifItemParser& aItem) + { + TPositionSelectionOrder posSelOrder; + TInt order1 = 0; + TInt err = aItem.GetNextInt(order1); + TPositionSelectionOrder::TOrder order2 = TPositionSelectionOrder::EOrderDontCare; + if(!err) + { + switch(order1) + { + case 0: order2 = TPositionSelectionOrder::EOrderDontCare; + break; + case 1: order2 = TPositionSelectionOrder::EOrderDefault; + break; + case 2: order2 = TPositionSelectionOrder::EOrderVeryLow; + break; + case 3: order2 = TPositionSelectionOrder::EOrderLow; + break; + case 4: order2 = TPositionSelectionOrder::EOrderFairlyLow; + break; + case 5: order2 = TPositionSelectionOrder::EOrderMedium; + break; + case 6: order2 = TPositionSelectionOrder::EOrderFairlyHigh; + break; + case 7: order2 = TPositionSelectionOrder::EOrderHigh; + break; + case 8: order2 = TPositionSelectionOrder::EOrderVeryHigh; + break; + default: break; + + } + TInt error = posSelOrder.SetOrderTimeToFirstFix(order2); + return error; + } + else + return KErrGeneral; + + + } + +// --------------------------------------------------------- +// Test case for SetOrderTimeToNextFix +// --------------------------------------------------------- +// +TInt TTestCriteria :: DoSetOrderTimeToNextFix(CStifItemParser& aItem) + { + TPositionSelectionOrder posSelOrder; + TInt order1 = 0; + TInt err = aItem.GetNextInt(order1); + TPositionSelectionOrder::TOrder order2 = TPositionSelectionOrder::EOrderDontCare; + if(!err) + { + switch(order1) + { + case 0: order2 = TPositionSelectionOrder::EOrderDontCare; + break; + case 1: order2 = TPositionSelectionOrder::EOrderDefault; + break; + case 2: order2 = TPositionSelectionOrder::EOrderVeryLow; + break; + case 3: order2 = TPositionSelectionOrder::EOrderLow; + break; + case 4: order2 = TPositionSelectionOrder::EOrderFairlyLow; + break; + case 5: order2 = TPositionSelectionOrder::EOrderMedium; + break; + case 6: order2 = TPositionSelectionOrder::EOrderFairlyHigh; + break; + case 7: order2 = TPositionSelectionOrder::EOrderHigh; + break; + case 8: order2 = TPositionSelectionOrder::EOrderVeryHigh; + break; + default: break; + + } + TInt error = posSelOrder.SetOrderTimeToNextFix(order2); + return error; + } + else + return KErrGeneral; + + + } + +// --------------------------------------------------------- +// Test case for SetOrderHorizontalAccuracy +// --------------------------------------------------------- +// +TInt TTestCriteria :: DoSetOrderHorizontalAccuracy(CStifItemParser& aItem) + { + TPositionSelectionOrder posSelOrder; + TInt order1 = 0; + TInt err = aItem.GetNextInt(order1); + TPositionSelectionOrder::TOrder order2 = TPositionSelectionOrder::EOrderDontCare; + if(!err) + { + switch(order1) + { + case 0: order2 = TPositionSelectionOrder::EOrderDontCare; + break; + case 1: order2 = TPositionSelectionOrder::EOrderDefault; + break; + case 2: order2 = TPositionSelectionOrder::EOrderVeryLow; + break; + case 3: order2 = TPositionSelectionOrder::EOrderLow; + break; + case 4: order2 = TPositionSelectionOrder::EOrderFairlyLow; + break; + case 5: order2 = TPositionSelectionOrder::EOrderMedium; + break; + case 6: order2 = TPositionSelectionOrder::EOrderFairlyHigh; + break; + case 7: order2 = TPositionSelectionOrder::EOrderHigh; + break; + case 8: order2 = TPositionSelectionOrder::EOrderVeryHigh; + break; + default: break; + + } + TInt error = posSelOrder.SetOrderHorizontalAccuracy(order2); + return error; + } + else + return KErrGeneral; + + + } + + + // --------------------------------------------------------- +// Test case for SetOrderVerticalAccuracy +// --------------------------------------------------------- +// +TInt TTestCriteria :: DoSetOrderVerticalAccuracy(CStifItemParser& aItem) + { + TPositionSelectionOrder posSelOrder; + TInt order1 = 0; + TInt err = aItem.GetNextInt(order1); + TPositionSelectionOrder::TOrder order2 = TPositionSelectionOrder::EOrderDontCare; + if(!err) + { + switch(order1) + { + case 0: order2 = TPositionSelectionOrder::EOrderDontCare; + break; + case 1: order2 = TPositionSelectionOrder::EOrderDefault; + break; + case 2: order2 = TPositionSelectionOrder::EOrderVeryLow; + break; + case 3: order2 = TPositionSelectionOrder::EOrderLow; + break; + case 4: order2 = TPositionSelectionOrder::EOrderFairlyLow; + break; + case 5: order2 = TPositionSelectionOrder::EOrderMedium; + break; + case 6: order2 = TPositionSelectionOrder::EOrderFairlyHigh; + break; + case 7: order2 = TPositionSelectionOrder::EOrderHigh; + break; + case 8: order2 = TPositionSelectionOrder::EOrderVeryHigh; + break; + default: break; + + } + TInt error = posSelOrder.SetOrderVerticalAccuracy(order2); + return error; + } + else + return KErrGeneral; + + + } + + // --------------------------------------------------------- +// Test case for SetOrderCostIndicator +// --------------------------------------------------------- +// +TInt TTestCriteria :: DoSetOrderCostIndicator(CStifItemParser& aItem) + { + TPositionSelectionOrder posSelOrder; + TInt order1 = 0; + TInt err = aItem.GetNextInt(order1); + TPositionSelectionOrder::TOrder order2 = TPositionSelectionOrder::EOrderDontCare; + if(!err) + { + switch(order1) + { + case 0: order2 = TPositionSelectionOrder::EOrderDontCare; + break; + case 1: order2 = TPositionSelectionOrder::EOrderDefault; + break; + case 2: order2 = TPositionSelectionOrder::EOrderVeryLow; + break; + case 3: order2 = TPositionSelectionOrder::EOrderLow; + break; + case 4: order2 = TPositionSelectionOrder::EOrderFairlyLow; + break; + case 5: order2 = TPositionSelectionOrder::EOrderMedium; + break; + case 6: order2 = TPositionSelectionOrder::EOrderFairlyHigh; + break; + case 7: order2 = TPositionSelectionOrder::EOrderHigh; + break; + case 8: order2 = TPositionSelectionOrder::EOrderVeryHigh; + break; + default: break; + + } + TInt error = posSelOrder.SetOrderCostIndicator(order2); + return error; + } + else + return KErrGeneral; + + + } + + + // --------------------------------------------------------- +// Test case for SetOrderPowerConsumption +// --------------------------------------------------------- +// +TInt TTestCriteria :: DoSetOrderPowerConsumption(CStifItemParser& aItem) + { + TPositionSelectionOrder posSelOrder; + TInt order1 = 0; + TInt err = aItem.GetNextInt(order1); + TPositionSelectionOrder::TOrder order2 = TPositionSelectionOrder::EOrderDontCare; + if(!err) + { + switch(order1) + { + case 0: order2 = TPositionSelectionOrder::EOrderDontCare; + break; + case 1: order2 = TPositionSelectionOrder::EOrderDefault; + break; + case 2: order2 = TPositionSelectionOrder::EOrderVeryLow; + break; + case 3: order2 = TPositionSelectionOrder::EOrderLow; + break; + case 4: order2 = TPositionSelectionOrder::EOrderFairlyLow; + break; + case 5: order2 = TPositionSelectionOrder::EOrderMedium; + break; + case 6: order2 = TPositionSelectionOrder::EOrderFairlyHigh; + break; + case 7: order2 = TPositionSelectionOrder::EOrderHigh; + break; + case 8: order2 = TPositionSelectionOrder::EOrderVeryHigh; + break; + default: break; + + } + TInt error = posSelOrder.SetOrderPowerConsumption(order2); + return error; + } + else + return KErrGeneral; + + + } + + + // --------------------------------------------------------- +// Test case to check ResetSelectionOrder +// --------------------------------------------------------- + +TInt TTestCriteria ::DoResetSelectionOrder() + { + TPositionSelectionOrder posSelOrder; + posSelOrder.ResetSelectionOrder(); + return KErrNone; + } + + // --------------------------------------------------------- +// Test case to check ClearSelectionOrder +// --------------------------------------------------------- + +TInt TTestCriteria ::DoClearSelectionOrder() + { + TPositionSelectionOrder posSelOrder; + posSelOrder.ClearSelectionOrder(); + return KErrNone; + } + + // --------------------------------------------------------- +// Test case for NumSelectionItems +// --------------------------------------------------------- + +TInt TTestCriteria ::GetNumSelectionItems() + { + TPositionSelectionOrder posSelOrder; + TUint numSelItems = posSelOrder.NumSelectionItems(); + if(numSelItems) + { + return KErrNone; + } + else + return KErrGeneral; + } + + + // --------------------------------------------------------- +// Test case for GetSelectionItem +// --------------------------------------------------------- + +TInt TTestCriteria ::DoGetSelectionItem() + { + TPositionSelectionOrder posSelOrder; + TPositionSelectionOrder::TOrder order; + TPositionSelectionOrder::TField field; + TUint index = 2; + TInt error = posSelOrder.GetSelectionItem(index,field,order); + return error; + + + } + + + // --------------------------------------------------------- +// Test case for setting & getting RequiredCapabilities +// --------------------------------------------------------- + +TInt TTestCriteria ::SetGetRequiredCapabilities(CStifItemParser& aItem) + { + TInt capability1 = 0; + + TInt error = aItem.GetNextInt(capability1); + TPositionCriteria posCriteria; + + 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; + + } + posCriteria.AddRequiredCapabilities(capability2); + TPositionModuleInfo::TCapabilities cap = posCriteria.RequiredCapabilities(); + if(cap==capability2) + { + return KErrNone; + } + else + return KErrGeneral; + + } + else + return KErrGeneral; + + + } + + +// --------------------------------------------------------- +// Test case for ClearRequiredCapabilities +// --------------------------------------------------------- + +TInt TTestCriteria :: DoClearRequiredCapabilities() + { + TPositionCriteria posCriteria; + TPositionModuleInfo::TCapabilities capability = TPositionModuleInfo::ECapabilityHorizontal; + posCriteria.AddRequiredCapabilities(capability); + TPositionModuleInfo::TCapabilities cap = posCriteria.RequiredCapabilities(); + posCriteria.ClearRequiredCapabilities(); + TPositionModuleInfo::TCapabilities cap1 = posCriteria.RequiredCapabilities(); + if(cap!=cap1) + { + return KErrNone; + } + else + return KErrGeneral; + + } + +// --------------------------------------------------------- +// Test case for setting & getting RequiredQuality +// --------------------------------------------------------- + +TInt TTestCriteria :: SetGetRequiredQuality() + { + TPositionCriteria posCriteria; + TPositionQuality pos1; + TPositionQuality pos2; + TPositionQuality::TCostIndicator costInd = TPositionQuality::ECostUnknown; + pos1.SetCostIndicator(costInd); + posCriteria.SetRequiredQuality(pos1); + posCriteria.GetRequiredQuality(pos2); + if(pos1.CostIndicator()==pos2.CostIndicator()) + { + return KErrNone; + } + else + return KErrGeneral; + + + + } + + +// --------------------------------------------------------- +// Test case for setting & getting SelectionOrder +// --------------------------------------------------------- + +TInt TTestCriteria :: SetGetSelectionOrder() + { + TPositionSelectionOrder posSelOrder1; + TPositionSelectionOrder posSelOrder2; + TPositionSelectionOrder::TOrder order1 = TPositionSelectionOrder::EOrderLow ; + TPositionSelectionOrder::TOrder order2; + TPositionSelectionOrder::TField field; + TUint index = 4; + posSelOrder1.SetOrderCostIndicator(order1); + TPositionCriteria posCriteria; + posCriteria.SetSelectionOrder(posSelOrder1); + posCriteria.GetSelectionOrder(posSelOrder2); + posSelOrder2.GetSelectionItem(index,field,order2); + if(order2==order1) + { + return KErrNone; + } + else + return KErrGeneral; + + + + + + } + + + + + // --------------------------------------------------------- +//Test case for ResetCriteria +// --------------------------------------------------------- +TInt TTestCriteria :: DoResetCriteria() + { + TPositionCriteria posCriteria; + posCriteria.ResetCriteria(); + return KErrNone; + } + + // --------------------------------------------------------- +//Test case for ClearCriteria +// --------------------------------------------------------- +TInt TTestCriteria :: DoClearCriteria() + { + TPositionCriteria posCriteria; + posCriteria.ClearCriteria(); + return KErrNone; + } + +// --------------------------------------------------------- +//Test Case for default constructor of TPositionCriteria +// --------------------------------------------------------- + TInt TTestCriteria :: DefaultPositionCriteria() + { + TPositionCriteria posCriteria; + return KErrNone; + } + +// --------------------------------------------------------- +//Test Case for constructor of TPositionCriteria with +// required capabilities as parameter +// --------------------------------------------------------- + TInt TTestCriteria :: PositionCriteriaCons(CStifItemParser& aItem) + { + TInt capability1 = 0; + + 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; + + } + + TPositionCriteria posCriteria(capability2); + TPositionModuleInfo::TCapabilities cap = posCriteria.RequiredCapabilities(); + if(cap==capability2) + { + return KErrNone; + } + else + return KErrGeneral; + } + else + return KErrGeneral; + + }