--- /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 <e32std.h>
+
+// 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;
+
+ }