landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp124.h
branchRCL_3
changeset 44 2b4ea9893b66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp124.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2005 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: 
+*   ?description_line
+*
+*/
+
+
+#ifndef CPOSTp124_H
+#define CPOSTp124_H
+
+//  INCLUDES
+#include "FT_CLandmarkTestProcedureBase.h"
+#include <LbsPosition.h>
+// CLASS DECLARATION
+class CPosLandmarkDatabase;
+class CPosLmCompositeCriteria;
+class CPosLmMultiDbSearch;
+class CCompositeSearchResult;
+//class TCoordinate;
+
+/**
+*  Test procedure 124
+*/
+class CPosTp124 :public CLandmarkTestProcedureBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * C++ default constructor.
+        */
+       
+        CPosTp124(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {iErrorsFound = KErrNone;};
+        /**
+        * Destructor.
+        */
+        ~CPosTp124() {};
+
+    public: // Functions from base classes
+
+        
+
+        /**
+        *  Always called even if test leaves, 
+        * after test completion
+        */
+        void CloseTest();
+
+
+        /**
+        * From CLandmarkTestProcedureBase
+        * Runs the test in the module
+        */
+        void StartL();
+        
+       
+        void InitTestL();
+        
+    private:
+    
+       	enum TTp124SortOrder
+            {
+            ESortNone,
+            ESortAscending,
+            ESortDescending,
+            ESortDistance
+            };
+
+        /*
+        * Use the file lmDbCompositeSearchResult.txt and parse
+        * all test combinations, perform all tests and check for correct result
+        */ 
+        void StartLandmarksCompositeTestL(TExecutionMode aExecutionMode, TTp124SortOrder aSortOrder);
+
+        /**
+        * Prints debug information about the composite search object
+        */
+        void PrintCompositeInfo(CPosLmCompositeCriteria* aComposite);
+
+        /**
+        * Test that it is possible to search for categories using the
+        * CPosLmCatNameCriteria class in a StartCategorySearchL search
+        */
+        void TestCategoryCompositeSearchL();
+
+        /**
+        * Perform a test with a composite object used in a composite landmark search 
+        */
+        void TestCompositeInCompositeL();
+
+        /**
+        * Perform a test with two different text arguments combined in a composite landmark search
+        */
+        void TestSeveralTextArgumentsL();
+
+        /**
+        * Test to add and remove search arguments to the CPosLmCompositeCriteria object
+        */
+        void TestAddAndRemoveL();
+
+        /**
+        * Test that no result is returned if setting the  aSearchOnlyPreviousMatches to ETrue
+        * and there is no previous result
+        */
+        void TestWithNoPreviousResultL();
+
+        /**
+        * Test cancel of a composite search
+        */
+        void CancelTestL(const TBool& aCancelInCallback);
+        
+        void LandmarksSortL(RArray<TPosLmItemId>& aArray, TTp124SortOrder aSortOrder);
+        
+        void SearchL(
+            CPosLmCompositeCriteria* aCompositeSearchCriteria,
+            TExecutionMode aExecutionMode,
+            TBool aRefinedSearch = EFalse,
+            TTp124SortOrder aSortOrder = ESortNone);
+
+		/**
+		* Test with different sort order scenarios, test sortpref for landmark and category
+		* also test with nearest
+		*/
+    	void TestWithSortOrderLandmarksL(TExecutionMode aExecutionMode,
+    										 TTp124SortOrder aSortOrder);
+        
+    	void TestWithSortOrderNearestL(TExecutionMode aExecutionMode, TTp124SortOrder aSortOrder);
+    	
+    	void PrepareDatabasesL();
+    	
+    	void SetupLimits();
+    	
+    	void PrintLm(CPosLandmarkDatabase* db);
+    	
+    	void ValidateIdL(TPosLmItemId aId, TInt aDbIndex);
+    	
+    	void ValidateSearchResultsL(
+            RIdArray& aExpectedIds,
+            TTp124SortOrder aSortOrder,
+            TInt aNrOfExpectedErrors = 0);
+            
+        TInt NrOfSearchErrors(CPosLmMultiDbSearch* aMultiDbSearcher);
+        
+        TBool CheckCompositeForIdListL(CPosLmCompositeCriteria* aComposite);
+        
+        void TestWithIdListAndCompositeL();
+        
+        void TestOnTheFlySearchL();
+        
+        void TestLessDbsToSearchL();
+        
+        void CompositeStressTestL(TInt aStartNr, TInt aTotalNr);
+    	
+    	private:
+            
+	    	TUint iIdDb1Min;
+	        TUint iIdDb1Max;
+	        TUint iIdDb2Min;
+	        TUint iIdDb2Max;
+	        TUint iIdDb3Min;
+	        TUint iIdDb3Max;
+	        TUint iIdDb4Min;
+	        TUint iIdDb4Max;
+	        TUint iIdDb5Min;
+	        TUint iIdDb5Max;
+	        
+	        TInt 		iErrorsFound;
+	        
+	        CDesCArray*             iDatabases;
+	        CPosLmMultiDbSearch*    iMultiDbSearch;
+	        TInt                    iNrOfDatabases;
+	        /**
+	         * contains inital db count afte removal of all db
+	         */
+	        TInt iDbCount;
+	        CPosLmDisplayData* 		iDisplayData;
+	        TCoordinate 			iCoord;
+
+    };
+
+#endif      // CPOSTp124_H
+            
+// End of File