locationtriggering/tsrc/lbtengine_test/LbtUnitTestModule/src/LbtUnitTestModuleBlocks.cpp
changeset 50 4c28d569e1fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/tsrc/lbtengine_test/LbtUnitTestModule/src/LbtUnitTestModuleBlocks.cpp	Mon Sep 27 16:57:22 2010 +0530
@@ -0,0 +1,923 @@
+/*
+* Copyright (c) 2009 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: This file contains testclass implementation.
+*
+*/
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <StifTestInterface.h>
+#include <etelmm.h>
+#include <centralrepository.h>
+#include "LbtUnitTestModule.h"
+#include "lbtgeogsmcell.h"
+#include "lbtgeowcdmacell.h"
+#include "lbtsettingsmanager.h"
+#include "lbtdiskspacelistner.h"
+#include "lbttriggernode.h"
+#include "lbtcontextsourceplugincommon.h"
+#include "lbtcellinfo.h"
+#include "lbtoperation.h"
+#include "lbtlogger.h"
+
+
+static const TInt KArrayIndex = 5;
+const TInt KCRUidLocationTriggeringSettings(0x1028312F);
+
+const TBuf<236> testFileName(_L("C:\\data\\testdata.log"));
+
+TInt ThreadFunction( TAny* aParam );
+
+enum TCenRepKeys
+    {
+    ELbtMinimumTriggerArea = 0x00000007,
+    ELbtTrackModeInterval = 0x00000008,
+    ELbtLocRequestTimeOut = 0x00000009,
+    ELbtMinHysteresisArea = 0x0000000A,
+    ELbtDaysForCleanup = 0x0000000B,
+    ELbtSleepTime  = 0x0000000C,
+    ELbtMaxActiveTriggers = 0x0000000D,
+    };
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::Delete
+// Delete here all resources allocated and opened from test methods. 
+// Called from destructor. 
+// -----------------------------------------------------------------------------
+//
+void CLbtUnitTestModule::Delete() 
+    {
+    // Lbt logger is created by the first LOG call, it is destroyed 
+    // only during termination. This has to be explicitly destroyed.
+    STOPLOGGING
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CLbtUnitTestModule::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function. 
+        ENTRY( "TestCLbtGeoGsmCellNewL", CLbtUnitTestModule::TestCLbtGeoGsmCellNewL ),
+        ENTRY( "TestCLbtGeoGsmCellNewLC", CLbtUnitTestModule::TestCLbtGeoGsmCellNewLC ),
+        ENTRY( "TestCLbtGeoGsmCellNew1L", CLbtUnitTestModule::TestCLbtGeoGsmCellNew1L ),
+        ENTRY( "TestCLbtGeoGsmCellNew1LC", CLbtUnitTestModule::TestCLbtGeoGsmCellNew1LC ),
+        ENTRY( "TestSetAndGetBsicL", CLbtUnitTestModule::TestSetAndGetBsicL ),
+        ENTRY( "TestGsmCGISpecifiedDuringCreationL", CLbtUnitTestModule::TestGsmCGISpecifiedDuringCreationL ),
+        ENTRY( "TestGsmCellInternalizeExternalizeL", CLbtUnitTestModule::TestGsmCellInternalizeExternalizeL ),
+        ENTRY( "TestCLbtGeoWcdmaCellL", CLbtUnitTestModule::TestCLbtGeoWcdmaCellL ),
+        ENTRY( "TestCLbtGeoWcdmaCellLC", CLbtUnitTestModule::TestCLbtGeoWcdmaCellLC ),
+        ENTRY( "TestCLbtGeoWcdmaCell1L", CLbtUnitTestModule::TestCLbtGeoWcdmaCell1L ),
+        ENTRY( "TestCLbtGeoWcdmaCell1LC", CLbtUnitTestModule::TestCLbtGeoWcdmaCell1LC ),
+        ENTRY( "TestSetAndGetWcdmaInfoL", CLbtUnitTestModule::TestSetAndGetWcdmaInfoL ),
+        ENTRY( "TestWcdmaCGISpecifiedDuringCreationL", CLbtUnitTestModule::TestWcdmaCGISpecifiedDuringCreationL ),
+        ENTRY( "TestWcdmaCellInternalizeExternalizeL", CLbtUnitTestModule::TestWcdmaCellInternalizeExternalizeL ),
+        ENTRY( "TestSetAndGetOptimisationLevelL", CLbtUnitTestModule::TestSetAndGetOptimisationLevelL ),
+        ENTRY( "TestSetAndGetNppModuleIdL", CLbtUnitTestModule::TestSetAndGetNppModuleIdL ),
+        ENTRY( "TestSetAndGetMinUpdateIntOnGpsFailureL", CLbtUnitTestModule::TestSetAndGetMinUpdateIntOnGpsFailureL ),
+        ENTRY( "TestSetAndGetMaximumUserSpeedL", CLbtUnitTestModule::TestSetAndGetMaximumUserSpeedL ),
+        ENTRY( "TestSetAndGetTrigMechStateL", CLbtUnitTestModule::TestSetAndGetTrigMechStateL ),
+        ENTRY( "TestTriggerConfigParamsL", CLbtUnitTestModule::TestTriggerConfigParamsL ),
+        ENTRY( "TestCLbtDiskSpaceListnerStartToListenL", CLbtUnitTestModule::TestCLbtDiskSpaceListnerStartToListenL ),
+        ENTRY( "TestCLbtDiskSpaceListnerCancelL", CLbtUnitTestModule::TestCLbtDiskSpaceListnerCancelL ),
+        ENTRY( "TestTriggerNodeMethodsL", CLbtUnitTestModule::TestTriggerNodeMethodsL ),
+        ENTRY( "TestGsmCellInfoMethodsL", CLbtUnitTestModule::TestGsmCellInfoMethodsL ),
+        ENTRY( "TestWcdmaCellInfoMethodsL", CLbtUnitTestModule::TestWcdmaCellInfoMethodsL ),
+        ENTRY( "TestLbtOperationsMethodL", CLbtUnitTestModule::TestLbtOperationsMethodL )
+        //ADD NEW ENTRY HERE
+        // [test cases entries] - Do not remove
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoGsmCellNewL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoGsmCellNewL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoGsmCell* gsmCell = CLbtGeoGsmCell::NewL();
+    delete gsmCell;
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoGsmCellNewLC
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoGsmCellNewLC( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoGsmCell* gsmCell = CLbtGeoGsmCell::NewLC();
+    CleanupStack::PopAndDestroy( gsmCell );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoGsmCellNew1L
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoGsmCellNew1L( CStifItemParser& /*aItem*/ )
+    {
+    TBuf<4> Networkcountrycode = _L("1000");
+    TBuf<8> Networkidentitycode = _L("10000000");
+    TUint Locationareacode = 100;
+    TUint CellId = 100;
+    CLbtGeoGsmCell* gsmCell = CLbtGeoGsmCell::NewL( 
+                                   RMobilePhone::ENetworkModeGsm,
+                                   Networkcountrycode,
+                                   Networkidentitycode,
+                                   Locationareacode,
+                                   CellId);
+    delete gsmCell;
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoGsmCellNew1LC
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoGsmCellNew1LC( CStifItemParser& /*aItem*/ )
+    {
+    TBuf<4> Networkcountrycode = _L("1000");
+    TBuf<8> Networkidentitycode = _L("10000000");
+    TUint Locationareacode = 100;
+    TUint CellId = 100;
+    CLbtGeoGsmCell* gsmCell = CLbtGeoGsmCell::NewLC( 
+                                    RMobilePhone::ENetworkModeGsm,
+                                    Networkcountrycode,
+                                    Networkidentitycode,
+                                    Locationareacode,
+                                    CellId);
+    CleanupStack::PopAndDestroy( gsmCell );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetBsicL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetBsicL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoGsmCell* gsmCell = CLbtGeoGsmCell::NewLC();
+    RArray<TInt> bsicArray;
+    CleanupClosePushL( bsicArray );
+    for( TInt i=0;i<KArrayIndex;i++ )
+        {
+        bsicArray.AppendL( i+1 );
+        }
+    gsmCell->SetBsic( bsicArray );
+    
+    RArray<TInt> retBsicArray = gsmCell->Bsic();
+    for( TInt i=0;i<bsicArray.Count();i++ )
+        {
+        if( bsicArray[i] != retBsicArray[i] )
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    CleanupStack::PopAndDestroy( 2 );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestGsmCGISpecifiedDuringCreationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestGsmCGISpecifiedDuringCreationL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoGsmCell* gsmCell = CLbtGeoGsmCell::NewL();
+    CleanupStack::PushL( gsmCell );
+    TBool cgiSpecified = gsmCell->CGISpecifiedDuringCreation();
+    if( cgiSpecified )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( gsmCell );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestGsmCellInternalizeExternalizeL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestGsmCellInternalizeExternalizeL( CStifItemParser& /*aItem*/ )
+    {
+    TBuf<4> Networkcountrycode = _L("1000");
+    TBuf<8> Networkidentitycode = _L("10000000");
+    TUint Locationareacode = 100;
+    TUint CellId = 100;
+    
+    CLbtGeoGsmCell* gsmCell = CLbtGeoGsmCell::NewL( 
+                                    RMobilePhone::ENetworkModeGsm,
+                                    Networkcountrycode,
+                                    Networkidentitycode,
+                                    Locationareacode,
+                                    CellId);
+    CleanupStack::PushL( gsmCell );
+    
+    CBufFlat* buffer= CBufFlat::NewL(256);
+    CleanupStack::PushL( buffer );  
+    
+    // Externalize
+    RBufWriteStream wr;
+    CleanupClosePushL( wr );
+    wr.Open(*buffer);
+    gsmCell->ExternalizeL( wr );
+    wr.CommitL();
+    CleanupStack::PopAndDestroy( &wr );
+    
+    // Internalize
+    
+    RBufReadStream rd;
+    rd.Open(*buffer);
+    CleanupClosePushL(rd);
+    
+    CLbtGeoGsmCell* newGsmCell = CLbtGeoGsmCell::NewLC();
+    newGsmCell->InternalizeL(rd);
+    
+    if( newGsmCell->NetworkType() != RMobilePhone::ENetworkModeGsm ||
+        newGsmCell->NetworkCountryCode() != Networkcountrycode ||
+        newGsmCell->NetworkIdentityCode() != Networkidentitycode ||
+        newGsmCell->LocationAreaCode() != Locationareacode ||
+        newGsmCell->CellId() != CellId )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( 4 );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoWcdmaCellL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoWcdmaCellL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoWcdmaCell* wcdmaCell = CLbtGeoWcdmaCell::NewL();
+    delete wcdmaCell;
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoWcdmaCellLC
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoWcdmaCellLC( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoWcdmaCell* wcdmaCell = CLbtGeoWcdmaCell::NewLC();
+    CleanupStack::PopAndDestroy( wcdmaCell );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoWcdmaCell1L
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoWcdmaCell1L( CStifItemParser& /*aItem*/ )
+    {
+    TBuf<4> Networkcountrycode = _L("1000");
+    TBuf<8> Networkidentitycode = _L("10000000");
+    TUint Locationareacode = 100;
+    TUint CellId = 100;
+    CLbtGeoWcdmaCell* wcdmaCell = CLbtGeoWcdmaCell::NewL( 
+                                        RMobilePhone::ENetworkModeWcdma,
+                                        Networkcountrycode,
+                                        Networkidentitycode,
+                                        Locationareacode,
+                                        CellId);
+    delete wcdmaCell;
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtGeoWcdmaCell1LC
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtGeoWcdmaCell1LC( CStifItemParser& /*aItem*/ )
+    {
+    TBuf<4> Networkcountrycode = _L("1000");
+    TBuf<8> Networkidentitycode = _L("10000000");
+    TUint Locationareacode = 100;
+    TUint CellId = 100;
+    
+    CLbtGeoWcdmaCell* wcdmaCell = CLbtGeoWcdmaCell::NewLC(
+                                        RMobilePhone::ENetworkModeWcdma,
+                                        Networkcountrycode,
+                                        Networkidentitycode,
+                                        Locationareacode,
+                                        CellId );
+    CleanupStack::PopAndDestroy( wcdmaCell );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetWcdmaInfoL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetWcdmaInfoL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoWcdmaCell* wcdmaCell = CLbtGeoWcdmaCell::NewLC();
+    
+    TLbtWcdmaCellInfo wcdmaCellInfo;
+    wcdmaCellInfo.iCell.iCarrierRssi = 10;
+    wcdmaCellInfo.iCell.iEcNo = 20;
+    wcdmaCellInfo.iCell.iPathLoss = 30;
+    wcdmaCellInfo.iCell.iRscp = 40;
+    wcdmaCell->SetWcdmaCellInfo( wcdmaCellInfo );
+    
+    TLbtWcdmaCellInfo retWcdmaCellInfo = wcdmaCell->WcdmaCellInfo();
+    
+    if( wcdmaCellInfo.iCell.iCarrierRssi != retWcdmaCellInfo.iCell.iCarrierRssi ||
+        wcdmaCellInfo.iCell.iEcNo != retWcdmaCellInfo.iCell.iEcNo ||
+        wcdmaCellInfo.iCell.iPathLoss != retWcdmaCellInfo.iCell.iPathLoss ||
+        wcdmaCellInfo.iCell.iRscp != retWcdmaCellInfo.iCell.iRscp )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( wcdmaCell );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestWcdmaCGISpecifiedDuringCreationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestWcdmaCGISpecifiedDuringCreationL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoWcdmaCell* wcdmaCell = CLbtGeoWcdmaCell::NewL();
+    CleanupStack::PushL( wcdmaCell );
+    TBool cgiSpecified = wcdmaCell->CGISpecifiedDuringCreation();
+    if( cgiSpecified )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( wcdmaCell );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestWcdmaCellInternalizeExternalizeL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestWcdmaCellInternalizeExternalizeL( CStifItemParser& /*aItem*/ )
+    {
+    TBuf<4> Networkcountrycode = _L("1000");
+    TBuf<8> Networkidentitycode = _L("10000000");
+    TUint Locationareacode = 100;
+    TUint CellId = 100;
+    
+    CLbtGeoWcdmaCell* wcdmaCell = CLbtGeoWcdmaCell::NewL( 
+                                    RMobilePhone::ENetworkModeWcdma,
+                                    Networkcountrycode,
+                                    Networkidentitycode,
+                                    Locationareacode,
+                                    CellId);
+    CleanupStack::PushL( wcdmaCell );
+    
+    CBufFlat* buffer= CBufFlat::NewL(256);
+    CleanupStack::PushL( buffer );  
+    
+    // Externalize
+    RBufWriteStream wr;
+    CleanupClosePushL( wr );
+    wr.Open(*buffer);
+    wcdmaCell->ExternalizeL( wr );
+    wr.CommitL();
+    CleanupStack::PopAndDestroy( &wr );
+    
+    // Internalize
+    
+    RBufReadStream rd;
+    rd.Open(*buffer);
+    CleanupClosePushL(rd);
+    
+    CLbtGeoWcdmaCell* newWcdmaCell = CLbtGeoWcdmaCell::NewLC();
+    newWcdmaCell->InternalizeL(rd);
+    
+    if( newWcdmaCell->NetworkType() != RMobilePhone::ENetworkModeWcdma ||
+        newWcdmaCell->NetworkCountryCode() != Networkcountrycode ||
+        newWcdmaCell->NetworkIdentityCode() != Networkidentitycode ||
+        newWcdmaCell->LocationAreaCode() != Locationareacode ||
+        newWcdmaCell->CellId() != CellId )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( 4 );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetOptimisationLevelL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetOptimisationLevelL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtSettingsManager* settingsManager = CLbtSettingsManager::NewL();
+    CleanupStack::PushL( settingsManager );
+    settingsManager->SetOptimizationLevel( 10 );
+    if( settingsManager->GetOptimizationLevel() != 10 )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( settingsManager );
+    return KErrNone;    
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetModuleIdL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetModuleIdL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtSettingsManager* settingsManager = CLbtSettingsManager::NewL();
+    CleanupStack::PushL( settingsManager );
+    TUid moduleId = TUid::Uid( 270526860 );
+    settingsManager->SetModuleId( moduleId );
+    if( settingsManager->GetModuleId() != moduleId )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( settingsManager );
+    return KErrNone;    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetNppModuleIdL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetNppModuleIdL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtSettingsManager* settingsManager = CLbtSettingsManager::NewL();
+    CleanupStack::PushL( settingsManager );
+    TUid moduleId = TUid::Uid( 16777216 );
+    settingsManager->SetModuleId( moduleId );
+    if( settingsManager->GetModuleId() != moduleId )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( settingsManager );
+    return KErrNone;    
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetMinUpdateIntOnGpsFailureL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetMinUpdateIntOnGpsFailureL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtSettingsManager* settingsManager = CLbtSettingsManager::NewL();
+    CleanupStack::PushL( settingsManager );
+    
+    settingsManager->SetMinimumUpdateIntervalOnGpsFailure( 10000000 );
+    if( settingsManager->GetMinimumUpdateIntervalOnGpsFailure() != 10000000 )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( settingsManager );
+    return KErrNone;    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetMaximumUserSpeedL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetMaximumUserSpeedL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtSettingsManager* settingsManager = CLbtSettingsManager::NewL();
+    CleanupStack::PushL( settingsManager );
+    
+    settingsManager->SetMaximumUserSpeed( 42 );
+    if( settingsManager->GetMaximumUserSpeed() != 42 )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( settingsManager );
+    return KErrNone;    
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestSetAndGetTrigMechStateL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestSetAndGetTrigMechStateL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtSettingsManager* settingsManager = CLbtSettingsManager::NewL();
+    CleanupStack::PushL( settingsManager );
+    
+    settingsManager->SetTriggeringMechanismState( ETriggeringMechanismOn );
+    if( settingsManager->GetTriggeringMechanismState() != ETriggeringMechanismOn )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( settingsManager );
+    return KErrNone;    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestTriggerConfigParamsL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestTriggerConfigParamsL( CStifItemParser& /*aItem*/ )
+    {
+    // Read values from cenrep.
+    
+    CRepository* repository = CRepository::NewL(TUid::Uid(KCRUidLocationTriggeringSettings));
+    CleanupStack::PushL( repository );
+    // Get all the values and store it in RAM
+    TInt minTriggerArea;
+    repository->Get(ELbtMinimumTriggerArea, minTriggerArea);
+    TInt trackModeInt;
+    repository->Get(ELbtTrackModeInterval, trackModeInt);
+    TInt locRequestTimeOut;
+    repository->Get(ELbtLocRequestTimeOut, locRequestTimeOut);
+    TInt minHysteresisArea;
+    repository->Get(ELbtMinHysteresisArea, minHysteresisArea);
+    TInt daysForCleanup;
+    repository->Get(ELbtDaysForCleanup, daysForCleanup);
+    TInt enabledValidTriggerCount;
+    repository->Get(ELbtMaxActiveTriggers, enabledValidTriggerCount);
+    CLbtSettingsManager* settingsManager = CLbtSettingsManager::NewL();
+    CleanupStack::PushL( settingsManager );
+    
+    if( settingsManager->MinimumTriggeringArea() != minTriggerArea )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    if( settingsManager->TrackingModeInterval() != trackModeInt )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    if( settingsManager->GetLocationRequestTimeOut() != locRequestTimeOut )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    if( settingsManager->MinimumHysteresisArea() != minHysteresisArea )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    if( settingsManager->NumberOfDaysForCleanup() != daysForCleanup )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    if( settingsManager->EnabledValidTriggerCount() != enabledValidTriggerCount )
+        {
+        User::Leave( KErrArgument );
+        }
+    CleanupStack::PopAndDestroy( 2 );
+    return KErrNone;    
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtDiskSpaceListnerStartToListenL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtDiskSpaceListnerStartToListenL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtDiskSpaceListner* diskSpaceListner = CLbtDiskSpaceListner::NewL( *this );
+    CleanupStack::PushL( diskSpaceListner );
+    
+    diskSpaceListner->StartToListen();
+    
+    RThread thread;
+    TThreadFunction  funcPtr = ThreadFunction;
+    thread.Create(_L("TestLbtThread"),funcPtr,KDefaultStackSize,NULL,NULL);
+    thread.Resume();
+    
+    iWait->Start();
+    thread.Kill( 0 );
+    thread.Close();
+    CleanupStack::PopAndDestroy( diskSpaceListner );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestCLbtDiskSpaceListnerCancelL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestCLbtDiskSpaceListnerCancelL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtDiskSpaceListner* diskSpaceListner = CLbtDiskSpaceListner::NewL( *this );
+    CleanupStack::PushL( diskSpaceListner );
+    
+    diskSpaceListner->StartToListen();
+    
+    // Cancel is called in the destructor.
+    CleanupStack::PopAndDestroy( diskSpaceListner );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestTriggerNodeMethodsL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestTriggerNodeMethodsL( CStifItemParser& /*aItem*/ )
+    {
+    TTriggerNode triggerNode;
+    
+    HBufC* buffer = HBufC::NewLC( 10 );
+    TPtr ptr =buffer->Des();
+    TPtrC retPtr;
+    TReal value;
+    
+    // Test set and get trigger name.
+    ptr.Copy(_L("Test")); 
+    triggerNode.SetTriggerNameL( ptr );
+    triggerNode.GetTriggerName( retPtr );
+    if( ptr != retPtr )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Test set and get latitude.
+    ptr.Copy(_L("12.7"));
+    triggerNode.SetLatitudeL( ptr );
+    triggerNode.GetLatitude( value );
+    if( value != 12.7 )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Test set and get longitude.
+    ptr.Copy(_L("72.7"));
+    triggerNode.SetLongitudeL( ptr );
+    triggerNode.GetLongitude( value );
+    if( value != 72.7 )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    
+    // Test set and get region.
+    ptr.Copy(KRegionValue); 
+    triggerNode.SetRegionL( ptr );
+    triggerNode.GetRegion( retPtr );
+    if( ptr != retPtr )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Test set and get radius.
+    ptr.Copy(_L("10"));
+    triggerNode.SetRadiusL( ptr );
+    triggerNode.GetRadius( value );
+    if( value != KMinRadius )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    
+    // Test set and get direction.
+    ptr.Copy(KNullDesC); 
+    triggerNode.SetDirectionL( ptr );
+    if( triggerNode.GetDirection() != CLbtTriggerConditionArea::EFireOnEnter )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Test set and get context source.
+    ptr.Copy(KDefaultContextSourceName); 
+    triggerNode.SetContextSource( ptr );
+    if( triggerNode.GetContextSource() != KDefaultContextSourceName )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Test set and get current state.
+    triggerNode.SetCurrentStateL( ptr );
+    if( triggerNode.GetCurrentState() != CLbtTriggerEntry::EStateEnabled )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    CleanupStack::PopAndDestroy( buffer );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestGsmCellInfoMethodsL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestGsmCellInfoMethodsL( CStifItemParser& /*aItem*/ )
+    {
+    // Test GSM cell info methods.
+    RMmCustomAPI::TMmCellInfo info;
+    
+    //Construct dummy cell info with GSM params.
+    info.iMode = RMmCustomAPI::TMmCellInfo::EGSM;
+    
+    info.iGsmCellInfo.iTA = 10;
+    
+    CLbtCellInfo* cellInfo = CLbtCellInfo::NewL( info );
+    CleanupStack::PushL( cellInfo );
+    
+    // Get the GSM NMR array. 
+    RArray<TGsmNMR> gsmArray = cellInfo->GetNMR();
+    if( gsmArray.Count() != 0 )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Check the count of cell info.
+    if( cellInfo->Count() != 0 )
+        {
+        User::Leave( KErrArgument );
+        }
+
+    // Read the TA from the cell info.
+    if( cellInfo->GetTA() != 10 )
+        {
+        User::Leave( KErrArgument );
+        }
+    //Get the cell id count for GSM network. It is not 
+    // supported for GSM. Hence it should return 0.
+    if( cellInfo->CellChangeCount() != 0 )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Attempt to find GSM cell info at 0th index should fail.
+    TGsmNMR gsmNmr;
+    TInt index = 0;
+    if( cellInfo->Find( index, gsmNmr ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Add same cell info again
+    cellInfo->AddNMRData( info );
+    
+    // Start the iterator
+    CLbtCellInfo::TCellInfoArrayIterator itr = cellInfo->Begin();
+    
+    if( itr.Next( gsmNmr ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    itr.Reset();
+    
+    // Reset the info
+    cellInfo->Reset();
+    
+    CleanupStack::PopAndDestroy( cellInfo );
+    return KErrNone;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestWcdmaCellInfoMethodsL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestWcdmaCellInfoMethodsL( CStifItemParser& /*aItem*/ )
+    {
+    // Test WCDMA cell info methods.
+    RMmCustomAPI::TMmCellInfo info;
+    
+    //Construct dummy cell info with WCDMA params.
+    info.iMode = RMmCustomAPI::TMmCellInfo::EWCDMA;
+    
+    //Set scrambling code and cell id.
+    info.iWcdmaCellInfo.iPrimaryScrambilingCode = 10;
+    info.iWcdmaCellInfo.iNwkMeasureReport[0].iCellMeasuredResult[0].iCID = 100;
+    
+    CLbtCellInfo* cellInfo = CLbtCellInfo::NewL( info );
+    CleanupStack::PushL( cellInfo );
+    
+    // Get the WCDMA NMR array. 
+    RArray<TWcdmaNMR> wcdmaArray = cellInfo->GetWcdmaNMR();
+    if( wcdmaArray.Count() == 0 )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+    // Check the count of cell info.
+    if( cellInfo->Count() == 0 )
+        {
+        User::Leave( KErrArgument );
+        }
+
+    //Get the cell id count for WCDMA network. It is not 
+    // supported for GSM. Hence it should return 0.
+    if( cellInfo->CellChangeCount() == 0 )
+        {
+        User::Leave( KErrArgument );
+        }
+    
+
+    // Add same cell info again
+    cellInfo->AddNMRData( info );
+    
+    // Start the iterator
+    CLbtCellInfo::TCellInfoArrayIterator itr = cellInfo->Begin();
+    
+    TWcdmaNMR wcdmaNmr;
+    if( !itr.Next( wcdmaNmr ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    itr.Reset();
+    
+    // Reset the info
+    cellInfo->Reset();
+    
+    CleanupStack::PopAndDestroy( cellInfo );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::TestLbtOperationsMethodL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt CLbtUnitTestModule::TestLbtOperationsMethodL( CStifItemParser& /*aItem*/ )
+    {
+    CLbtGeoAreaBase* areaBase = NULL;
+    TRequestStatus status;
+    
+    CLBTOperation* lbtOperation = CLBTOperation::CreateGeoAreaForCurrentLocationL( 
+                                    status,
+                                    CLbtGeoAreaBase::ECellular,
+                                    &areaBase );
+    delete lbtOperation;
+    delete areaBase;
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CLbtUnitTestModule::HandleDiskSpaceChange
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+void CLbtUnitTestModule::HandleDiskSpaceChange()
+    {
+    iWait->AsyncStop();
+    }
+
+
+// -----------------------------------------------------------------------------
+// ThreadFunction
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+TInt ThreadFunction( TAny* /*aParam*/)
+    {
+    TInt error;
+    RFs fs;
+    fs.Connect();
+    RFile file;
+    error = file.Create( fs,testFileName,EFileWrite);
+    if(error == KErrAlreadyExists )
+        {
+        fs.Delete( testFileName );
+        }   
+    file.Close();
+    fs.Close();
+    return KErrNone;
+    }
+
+
+
+//  [End of File]