apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testpositionmodule.cpp
changeset 2 0cb2248d0edc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testpositionmodule.cpp	Thu Apr 22 17:15:08 2010 +0530
@@ -0,0 +1,531 @@
+/*
+* 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 TPositionModuleStatus,TPositionModuleStatusEventBase
+*                 TPositionModuleStatusEvent TPositionUpdateOptionsBase &
+*                TPositionUpdateOptions classes
+*
+*/
+
+
+// System Includes
+
+
+// User Includes
+#include "testpositionmodule.h"
+#include <e32std.h>
+
+// Constant Declarations
+
+    
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// C++ Default Constructor
+// ---------------------------------------------------------------------------
+//
+TTestPositionModule ::TTestPositionModule (CStifLogger* aLog):iLog(aLog)
+    {
+        
+    }
+
+// ---------------------------------------------------------------------------
+// C++ Destructor
+// ---------------------------------------------------------------------------
+//
+TTestPositionModule ::~TTestPositionModule ()
+    {
+        
+    }
+
+// ---------------------------------------------------------------------------
+// Test case for default constructor of TPositionModuleStatusBase
+// ---------------------------------------------------------------------------
+
+TInt TTestPositionModule ::DefaultPositionModuleStatus()
+    {
+        TPositionModuleStatus pos;
+        return KErrNone;
+    }
+// ---------------------------------------------------------------------------
+// Test case for setting & getting Device Status
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::SetGetDeviceStatus(CStifItemParser& aItem)
+    {
+        TInt deviceStatus = 0;
+        TInt error = aItem.GetNextInt(deviceStatus);
+        TPositionModuleStatus modStatus;
+	    TPositionModuleStatus::TDeviceStatus dStatus = TPositionModuleStatus::EDeviceUnknown;
+	    if(!error)
+	        {
+	            switch(deviceStatus)
+	                {
+	                case 0: dStatus = TPositionModuleStatus::EDeviceUnknown;
+	                        break;
+	                case 1: dStatus = TPositionModuleStatus::EDeviceDisabled;
+	                        break;
+	                case 2: dStatus =  TPositionModuleStatus::EDeviceInactive;
+	                        break;
+	                case 3: dStatus = TPositionModuleStatus::EDeviceInitialising;
+	                        break;
+	                case 4: dStatus = TPositionModuleStatus::EDeviceStandBy;
+	                        break;
+	                case 5: dStatus = TPositionModuleStatus::EDeviceReady;
+	                        break;
+	                case 6: dStatus = TPositionModuleStatus:: EDeviceActive;
+	                        break;
+	                default:break;
+	                }
+	                modStatus.SetDeviceStatus(dStatus);
+	                TPositionModuleStatus::TDeviceStatus dStatus1 = modStatus.DeviceStatus();
+	                if(dStatus1==dStatus)
+	                    {
+	                        return KErrNone;
+	                    }
+	                else
+	                    return KErrGeneral;
+	        
+	        }
+	        
+	     else
+	                    return KErrGeneral;
+        
+        
+    }
+ 
+// ---------------------------------------------------------------------------
+// Test case for setting & getting TDataQualityStatus
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::SetGetDataQualityStatus(CStifItemParser& aItem)
+    {
+        TInt dataQualityStatus = 0;
+        TInt error = aItem.GetNextInt(dataQualityStatus);
+        TPositionModuleStatus modStatus;
+	    TPositionModuleStatus::TDataQualityStatus dQualityStatus = TPositionModuleStatus::EDataQualityUnknown;
+	    if(!error)
+	        {
+	            switch(dataQualityStatus)
+	                {
+	                case 0: dQualityStatus = TPositionModuleStatus::EDataQualityUnknown;
+	                        break;
+	                case 1: dQualityStatus = TPositionModuleStatus::EDataQualityLoss;
+	                        break;
+	                case 2: dQualityStatus =  TPositionModuleStatus::EDataQualityPartial;
+	                        break;
+	                case 3: dQualityStatus = TPositionModuleStatus::EDataQualityNormal;
+	                        break;
+	               
+	                default:break;
+	                }
+	                modStatus.SetDataQualityStatus(dQualityStatus);
+	                TPositionModuleStatus::TDataQualityStatus dQualityStatus1 = modStatus.DataQualityStatus();
+	                if(dQualityStatus1==dQualityStatus)
+	                    {
+	                        return KErrNone;
+	                    }
+	                else
+	                    return KErrGeneral;
+	        
+	        }
+	        
+	     else
+	                    return KErrGeneral;
+        
+        
+    }
+    
+    
+    
+ // ---------------------------------------------------------------------------
+// Test case for setting & getting Requested Events
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::SetGetRequestedEvents(CStifItemParser& aItem)
+    {
+        TInt reqEvents = 0;
+        TInt error = aItem.GetNextInt(reqEvents);
+        TPositionModuleStatusEvent modStatusEvent;
+	    TPositionModuleStatusEventBase::TModuleEvent modEvent = TPositionModuleStatusEventBase::EEventNone;
+	    if(!error)
+	        {
+	            switch(reqEvents)
+	                {
+	                case 0: modEvent = TPositionModuleStatusEventBase::EEventNone;
+	                        break;
+	                case 1: modEvent = TPositionModuleStatusEventBase::EEventDeviceStatus;
+	                        break;
+	                case 2: modEvent =  TPositionModuleStatusEventBase::EEventDataQualityStatus;
+	                        break;
+	                case 3: modEvent = TPositionModuleStatusEventBase::EEventSystemModuleEvent;
+	                        break;
+	                case 4: modEvent = TPositionModuleStatusEventBase::EEventAll;
+	                        break;
+	               
+	                default:break;
+	                }
+	                modStatusEvent.SetRequestedEvents(modEvent);
+	               TPositionModuleStatusEventBase::TModuleEvent modEvent1 = modStatusEvent.RequestedEvents();
+	                if(modEvent1==modEvent)
+	                    {
+	                        return KErrNone;
+	                    }
+	                else
+	                    return KErrGeneral;
+	        
+	        }
+	        
+	     else
+	                    return KErrGeneral;
+        
+        
+    }
+    
+    
+    
+// ---------------------------------------------------------------------------
+// Test case for setting & getting ModuleId 
+// ---------------------------------------------------------------------------
+
+TInt TTestPositionModule::SetGetModuleId()
+    {
+        TPositionModuleId KPositionNullModuleId = {KNullUidValue};
+        TPositionModuleStatusEvent modStatusEvent;
+        modStatusEvent.SetModuleId(KPositionNullModuleId);
+        TPositionModuleId  KPositionNullModuleId1 = modStatusEvent.ModuleId();
+        if(KPositionNullModuleId1==KPositionNullModuleId)
+            {
+                return KErrNone;
+            }
+        else
+            return KErrGeneral;
+
+    }
+
+
+ // ---------------------------------------------------------------------------
+// Test case for setting & getting Occurred Events
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::SetGetOccurredEvents(CStifItemParser& aItem)
+    {
+        TInt occEvents = 0;
+        TInt error = aItem.GetNextInt(occEvents);
+        TPositionModuleStatusEvent modStatusEvent;
+	    TPositionModuleStatusEventBase::TModuleEvent modEvent = TPositionModuleStatusEventBase::EEventNone;
+	    if(!error)
+	        {
+	            switch(occEvents)
+	                {
+	                case 0: modEvent = TPositionModuleStatusEventBase::EEventNone;
+	                        break;
+	                case 1: modEvent = TPositionModuleStatusEventBase::EEventDeviceStatus;
+	                        break;
+	                case 2: modEvent =  TPositionModuleStatusEventBase::EEventDataQualityStatus;
+	                        break;
+	                case 3: modEvent = TPositionModuleStatusEventBase::EEventSystemModuleEvent;
+	                        break;
+	                case 4: modEvent = TPositionModuleStatusEventBase::EEventAll;
+	                        break;
+	               
+	                default:break;
+	                }
+	                modStatusEvent.SetOccurredEvents(modEvent);
+	               TPositionModuleStatusEventBase::TModuleEvent modEvent1 = modStatusEvent.OccurredEvents();
+	                if(modEvent1==modEvent)
+	                    {
+	                        return KErrNone;
+	                    }
+	                else
+	                    return KErrGeneral;
+	        
+	        }
+	        
+	     else
+	                    return KErrGeneral;
+        
+        
+    }
+    
+
+ // ---------------------------------------------------------------------------
+// Test case for setting & getting System Module Events
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::SetGetSystemModuleEvents(CStifItemParser& aItem)
+    {
+        TInt sysEvents = 0;
+        TInt error = aItem.GetNextInt(sysEvents);
+        TPositionModuleStatusEvent modStatusEvent;
+	    TPositionModuleStatusEventBase::TSystemModuleEvent modEvent = TPositionModuleStatusEventBase::ESystemUnknown;
+	    if(!error)
+	        {
+	            switch(sysEvents)
+	                {
+	                case 0: modEvent = TPositionModuleStatusEventBase::ESystemUnknown;
+	                        break;
+	                case 1: modEvent = TPositionModuleStatusEventBase::ESystemError;
+	                        break;
+	                case 2: modEvent =  TPositionModuleStatusEventBase::ESystemModuleInstalled;
+	                        break;
+	                case 3: modEvent = TPositionModuleStatusEventBase::ESystemModuleRemoved;
+	                        break;
+	                
+	                default:break;
+	                }
+	                modStatusEvent.SetSystemModuleEvent(modEvent);
+	               TPositionModuleStatusEventBase::TSystemModuleEvent modEvent1 = modStatusEvent.SystemModuleEvent();
+	                if(modEvent1==modEvent)
+	                    {
+	                        return KErrNone;
+	                    }
+	                else
+	                    return KErrGeneral;
+	        
+	        }
+	        
+	     else
+	                    return KErrGeneral;
+        
+        
+    }
+    
+    
+    
+// ---------------------------------------------------------------------------
+// Test case for default constructor of TPositionModuleStatusEvent 
+// ---------------------------------------------------------------------------
+TInt  TTestPositionModule :: DefaultPositionModuleStatusEvent()
+    {
+        TPositionModuleStatusEvent posModStatus;
+        return KErrNone;
+    }
+    
+    
+    
+   
+ // ---------------------------------------------------------------------------
+// Test case for constructor with events as arguments
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::PositionModuleStatusEvent1(CStifItemParser& aItem)
+    {
+        TInt reqEvents = 0;
+        TInt error = aItem.GetNextInt(reqEvents);
+        
+	    TPositionModuleStatusEventBase::TModuleEvent modEvent = TPositionModuleStatusEventBase::EEventNone;
+	    if(!error)
+	        {
+	            switch(reqEvents)
+	                {
+	                case 0: modEvent = TPositionModuleStatusEventBase::EEventNone;
+	                        break;
+	                case 1: modEvent = TPositionModuleStatusEventBase::EEventDeviceStatus;
+	                        break;
+	                case 2: modEvent =  TPositionModuleStatusEventBase::EEventDataQualityStatus;
+	                        break;
+	                case 3: modEvent = TPositionModuleStatusEventBase::EEventSystemModuleEvent;
+	                        break;
+	                case 4: modEvent = TPositionModuleStatusEventBase::EEventAll;
+	                        break;
+	               
+	                default:break;
+	                }
+	                TPositionModuleStatusEvent modStatusEvent(modEvent);
+	               TPositionModuleStatusEventBase::TModuleEvent modEvent1 = modStatusEvent.RequestedEvents();
+	                if(modEvent1==modEvent)
+	                    {
+	                        return KErrNone;
+	                    }
+	                else
+	                    return KErrGeneral;
+	        
+	        }
+	        
+	     else
+	                    return KErrGeneral;
+        
+        
+    }
+    
+    
+ // ---------------------------------------------------------------------------
+//Test case for setting & getting ModuleStatus
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::SetGetModuleStatus(CStifItemParser& aItem)
+    {
+        TInt deviceStatus = 0;
+        TInt error1 = aItem.GetNextInt(deviceStatus);
+        TInt dataQualityStatus = 0;
+        TInt error2 = aItem.GetNextInt(dataQualityStatus);
+        TPositionModuleStatus modStatus1;
+        TPositionModuleStatus modStatus2;
+
+	    TPositionModuleStatus::TDeviceStatus dStatus = TPositionModuleStatus::EDeviceUnknown;
+	    TPositionModuleStatus::TDataQualityStatus dQualityStatus = TPositionModuleStatus::EDataQualityUnknown;
+	    TPositionModuleStatusEvent posModStatusEvent;
+	                
+	    if(!error1 && !error2)
+	        {
+	            switch(deviceStatus)
+	                {
+	                case 0: dStatus = TPositionModuleStatus::EDeviceUnknown;
+	                        break;
+	                case 1: dStatus = TPositionModuleStatus::EDeviceDisabled;
+	                        break;
+	                case 2: dStatus =  TPositionModuleStatus::EDeviceInactive;
+	                        break;
+	                case 3: dStatus = TPositionModuleStatus::EDeviceInitialising;
+	                        break;
+	                case 4: dStatus = TPositionModuleStatus::EDeviceStandBy;
+	                        break;
+	                case 5: dStatus = TPositionModuleStatus::EDeviceReady;
+	                        break;
+	                case 6: dStatus = TPositionModuleStatus:: EDeviceActive;
+	                        break;
+	                default:break;
+	                }
+	                modStatus1.SetDeviceStatus(dStatus);
+	            switch(dataQualityStatus)
+	                {
+	                case 0: dQualityStatus = TPositionModuleStatus::EDataQualityUnknown;
+	                        break;
+	                case 1: dQualityStatus = TPositionModuleStatus::EDataQualityLoss;
+	                        break;
+	                case 2: dQualityStatus =  TPositionModuleStatus::EDataQualityPartial;
+	                        break;
+	                case 3: dQualityStatus = TPositionModuleStatus::EDataQualityNormal;
+	                        break;
+	               
+	                default:break;
+	                }
+	                modStatus1.SetDataQualityStatus(dQualityStatus);
+	                posModStatusEvent.SetModuleStatus(modStatus1);
+	                posModStatusEvent.GetModuleStatus(modStatus2);
+	                if(modStatus1.DeviceStatus()==modStatus2.DeviceStatus() &&
+	                   modStatus1.DataQualityStatus()==modStatus2.DataQualityStatus())
+	                    {
+	                        return KErrNone;
+	                    }
+	                else
+	                    return KErrGeneral;
+	        }
+	        else
+	            return KErrGeneral;
+	                
+	             
+    }
+    
+    
+ // ---------------------------------------------------------------------------
+//Test case for setting & getting UpdateInterval
+// ---------------------------------------------------------------------------
+
+TInt TTestPositionModule ::SetGetUpdateInterval(TTimeIntervalMicroSeconds aInterval)
+    {
+        TPositionUpdateOptions posUpdate;
+        posUpdate.SetUpdateInterval(aInterval);
+        TTimeIntervalMicroSeconds updateInterval = posUpdate.UpdateInterval();
+        if(aInterval==updateInterval)
+            {
+                return KErrNone;
+            }
+         else
+            return KErrGeneral;
+        
+    }
+    
+    
+ // ---------------------------------------------------------------------------
+//Test case for setting & getting UpdateTimeOut
+// ---------------------------------------------------------------------------
+
+TInt TTestPositionModule ::SetGetUpdateTimeOut(TTimeIntervalMicroSeconds aTimeOut)
+    {
+        TPositionUpdateOptions posUpdate;
+        posUpdate.SetUpdateTimeOut(aTimeOut);
+        TTimeIntervalMicroSeconds updateTimeOut = posUpdate.UpdateTimeOut();
+        if(aTimeOut==updateTimeOut)
+            {
+                return KErrNone;
+            }
+         else
+            return KErrGeneral;
+        
+    }
+    
+    
+ // ---------------------------------------------------------------------------
+//Test case for setting & getting MaxUpdateAge
+// ---------------------------------------------------------------------------
+
+TInt TTestPositionModule ::SetGetMaxUpdateAge(TTimeIntervalMicroSeconds aMaxAge)
+    {
+        TPositionUpdateOptions posUpdate;
+        posUpdate.SetMaxUpdateAge(aMaxAge);
+        TTimeIntervalMicroSeconds maxUpdateAge = posUpdate.MaxUpdateAge();
+        if(aMaxAge==maxUpdateAge)
+            {
+                return KErrNone;
+            }
+         else
+            return KErrGeneral;
+        
+    }
+    
+// ---------------------------------------------------------------------------
+//Test case for default constructor of TpositionUpdateOptions
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::DefaultPosUpdateOptions()
+    {
+        TPositionUpdateOptions posUpdate;
+        return KErrNone;
+    }
+    
+    
+// ---------------------------------------------------------------------------
+//Test case for constructor of TPositionUpdateOptions with arguments
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::PosUpdateOptions1()
+    {
+        TTimeIntervalMicroSeconds interval(1000);
+        TPositionUpdateOptions posUpdate(interval);
+        if(posUpdate.UpdateInterval()==interval &&
+           posUpdate.UpdateTimeOut()==0 &&
+           posUpdate.MaxUpdateAge()==0 &&
+           posUpdate.AcceptPartialUpdates()==EFalse)
+            {
+                return KErrNone;
+            }
+         else
+            return KErrGeneral;
+        
+    }
+        
+// ---------------------------------------------------------------------------
+//Test case for checking if partial updates are allowed
+// ---------------------------------------------------------------------------
+TInt TTestPositionModule ::SetGetPartialUpdates(CStifItemParser& aItem)
+    {
+        TInt acceptPartialUpdate = 0;
+        TInt error = aItem.GetNextInt(acceptPartialUpdate);
+        TPositionUpdateOptions posUpdate;
+        if(!error)
+            {
+                posUpdate.SetAcceptPartialUpdates(acceptPartialUpdate);
+                TBool check = posUpdate.AcceptPartialUpdates();
+                if(check==acceptPartialUpdate)
+                    {
+                        return KErrNone;
+                    }
+                else
+                    return KErrGeneral;
+            }
+         else
+            return KErrGeneral;
+    }