pimappservices/calendar/tsrc/tcal_instance_testdata.h
changeset 0 f979ecb2b13e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pimappservices/calendar/tsrc/tcal_instance_testdata.h	Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,252 @@
+// Copyright (c) 2005-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:
+//
+
+#ifndef __tCal_Instance_TestData_h__
+#define __tCal_Instance_TestData_h__
+
+#include <e32base.h>
+#include <calinstanceview.h>
+#include <calentry.h>
+
+class TCalRRule;
+class CCalEntryView;
+
+_LIT8(KGUID1, "A_Global_UID");
+_LIT8(KGUID2, "B_Global_UID");
+_LIT8(KGUID3, "C_Global_UID");
+_LIT8(KGUID4, "D_Global_UID");
+_LIT8(KGUID5, "E_Global_UID");
+
+//
+// Class for storing test data for each test. This makes it easier to create new tests.
+// 
+// iDescription describes the test. This is outputted to the test server.
+// iTimes stores the expected results of the test - the instances that should be found.
+// iStartDate and iEndDate store the time range to be passed into FindInstanceL.
+// iFilter stores the filter to be passed into FindInstanceL.
+// iSearchString and iSearchBehaviour store the search parameters to be passed into FindInstanceL.
+// iFunction can specify a pointer to a function which can be called to verify results. Not currently used.
+//
+class CTestDataStruct : public CBase
+	{
+public:
+	CTestDataStruct();
+	~CTestDataStruct();
+	
+	RArray<TTime>					iTimes;
+	TTime							iStartDate;
+	TTime							iEndDate;
+	TBuf<256>						iDescription;
+	CalCommon::TCalViewFilter		iFilter;
+	TCallBack*						iFunction;
+	HBufC*							iSearchString;
+	CalCommon::TCalSearchBehaviour	iSearchBehaviour;
+	};
+
+//
+// Class for setting up the test data.
+// The current test number is passed into GetTestDataL, which sets up the entry to be tested.
+//
+class CTestData : public CBase
+	{
+public:
+	enum TTestNumber
+		{
+		EDailyTest1,				// 0
+		EDailyTest2,
+		EDailyTest3,
+		EDailyTest4,
+		EDailyTest5,
+		EDailyTest6,
+		EDailyTest7,
+		EWeeklyTest1,
+		EWeeklyTest2,
+		EWeeklyTest3,
+		EWeeklyTest4,				// 10
+		EWeeklyTest1980_5,
+		EMonthlyTest1,
+		EMonthlyTest2,
+		EMonthlyTest3,
+		EMonthlyTest4,
+		EYearlyTest1,
+		EYearlyTest2,
+		EYearlyTest3,
+		EYearlyTest4,
+		EYearlyTest5,				// 20
+		EYearlyTest1980_6,
+		EMultipleTest1,
+		EMultipleTest2,
+		EFilterTest1,
+		EFilterTest2,
+		EFilterTest3,
+		EFilterTest4,
+		EFilterTest5,
+		EFilterTest6,
+		EFilterTest7,				// 30
+		EDeleteTest1,
+		EDeleteTest2,
+		EDeleteTest3,
+		EDeleteTest4,
+		EFindStringTest1,
+		EFindStringTest2,
+		EFindStringTest3,
+		EFindStringTest4,
+		EStartEndTimesTest1,
+		EStartEndTimesTest2,		// 40
+		EStartEndTimesTest3,
+		EStartEndTimesTest4,
+		EStartEndTimesTest5,
+		EStartEndTimesTest6,
+		EStartEndTimesTest7,
+		EManyInstancesTest,
+		EManyInstancesTest2,
+		EManyInstancesTest3,
+		EMaxRangeTest,
+		EMaxRangeTest2,				// 50
+		EMaxRangeTest3,
+		EMaxRangeTest4,
+		EMaxRangeTest5,
+		EMaxRangeTest6,
+		EMaxRangeTest7,
+		EMaxRangeTest8,
+		EFindStringInFieldTest1,
+		EFindStringInFieldTest2,
+		EFindStringInFieldTest3,
+		EFindStringInFieldTest4,	// 60
+		EFindStringInFieldTest5,
+		EFindStringInFieldTest6,
+		EEmptyDatabase1,
+		EEmptyDatabase2,
+		ESecondGranularityTest,
+		EMSecondGranularityTest,
+		ERuleAndDateTest,
+		ENextInstanceOnlyTest,
+		EDeleteInstanceTest,
+		ERDateBeforeDtStartTest,	// 70
+		EDstBoundaryTest1,
+		EDstBoundaryTest2,
+		EDstBoundaryTest3,
+		EDstBoundaryTest4,
+		EDstBoundaryTest5,
+		EExcludeInstanceAdjoiningRangeTestNonRepeat,
+		EExcludeInstanceAdjoiningRangeTestRepeat,
+        EFindInstanceWithTimeTest,
+        EUpdateInstanceTest,
+	    ETestTodoOnMaxDate,
+		ENumberOfTests,
+		};
+	static CTestDataStruct* GenerateTestDataLC(TTestNumber aTestNumber, CCalInstanceView* aView, CCalEntryView* aEntryView);
+
+private:
+	// utility functions
+	static void	AddRuleL(const TCalRRule& aRpt, CCalEntryView* aView, const TDesC8& aGuid, CCalEntry::TType aType = CCalEntry::EAppt, TTimeIntervalHours aDuration = 1);
+	static void AddWeeklyRuleL(TDay aDay, CCalEntryView* aEntryView, const TDesC8& aGuid, CCalEntry::TType aType);
+	static void CreateWeeklyEntryWithThisStringL(TDay aDay, const TDesC& aString, CCalEntryView* aInstanceView, const TDesC8& aGuid);
+	static CCalEntry* CreateEntryLC(CCalEntry::TType aType, const TDesC8& aGuid, const TTime& aStartTimeLocal, const TTime& aEndTimeLocal);
+	static void StoreEntryWithTextL(CCalEntryView* aEntryView, CCalEntry::TType aType, const TDesC8& aGuid, const TTime& aStartTimeLocal, const TDesC& aSummaryText);
+	static CCalEntry* CreateTodoLC(const TDesC8& aGuid, const TTime& aTimeUtc, const TTime& aCompletedTimeUtc);
+	static void	CreateFilterTestDataL(CCalEntryView* aView);
+	static void	SetupMultipleTextFieldsTestL(CCalEntryView* aView);
+
+	// the tests...
+	static void CreateDailyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateDailyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateDailyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateDailyTest4L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateDailyTest5L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateDailyTest6L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateDailyTest7L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateWeeklyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateWeeklyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateWeeklyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateWeeklyTest4L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateWeeklyTest1980_5L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateMonthlyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateMonthlyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateMonthlyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateMonthlyTest4L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateYearlyTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateYearlyTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateYearlyTest3L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateYearlyTest4L(CTestDataStruct& aData, TBool aRepeatForever, CCalEntryView* aEntryView);
+	static void CreateYearlyTest1980_6L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateMultipleRuleTest1L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateMultipleRuleTest2L(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void	CreateFilterTest1L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateFilterTest2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateFilterTest3L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateFilterTest4L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateFilterTest5L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateFilterTest6L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateFilterTest7L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateDeleteTest1L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView);
+	static void	CreateDeleteTest2L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView);
+	static void	CreateDeleteTest3L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView);
+	static void	CreateDeleteTest4L(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView);
+	static void	CreateStringTest1L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringTest2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringTest3L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringTest4L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void SetupStartEndTimesTestL(CCalEntryView* aView);
+	static void	CreateStartEndTimesTest1L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStartEndTimesTest2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStartEndTimesTest3L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStartEndTimesTest4L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStartEndTimesTest5L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStartEndTimesTest6L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStartEndTimesTest7L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateUndatedTodoTest1L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	EmptyDatabase1L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	EmptyDatabase2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateManyInstancesTestL(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateManyInstancesTest2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateManyInstancesTest3L(CTestDataStruct& aData, CCalEntryView* aView);
+	static TInt CompleteManyInstanceTest(TAny* aPtr);
+	static void	CreateMaxRangeTestL(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateMaxRangeTest2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateMaxRangeTest3L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateMaxRangeTest4L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateMaxRangeTest5L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateMaxRangeTest6L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateMaxRangeTest7L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateMaxRangeTest8L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void CreateRepeatingWithSecondGranularityL(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateRepeatingWithMSecondGranularityL(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void CreateRepeatingWithRuleAndDatesL(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	static void	CreateNextInstanceOnlyTestL(CTestDataStruct& aData, CCalEntryView* aView);
+	static void DeleteEntryLastInstanceL(CTestDataStruct& aData, CCalEntryView* aView, CCalInstanceView* aInstanceView);
+
+    static void TestFindInstanceWithTimeL( CTestDataStruct& aData, CCalEntryView* aEntryView );
+    static void TestUpdateInstanceL(CTestDataStruct& aData, CCalEntryView* aEntryView);
+
+	static void	CreateStringInFieldTest1L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringInFieldTest2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringInFieldTest3L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringInFieldTest4L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringInFieldTest5L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateStringInFieldTest6L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void	CreateRDateBeforeDtStartTestL(CTestDataStruct& aData, CCalEntryView* aView);
+	static void CreateDstBoundaryTest1L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void CreateDstBoundaryTest2L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void CreateDstBoundaryTest3L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void CreateDstBoundaryTest4L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void CreateDstBoundaryTest5L(CTestDataStruct& aData, CCalEntryView* aView);
+	static void ExcludeInstanceAdjoiningRangeTestNonRepeatL(CTestDataStruct& aData, CCalEntryView* aView);
+	static void ExcludeInstanceAdjoiningRangeTestRepeatL(CTestDataStruct& aData, CCalEntryView* aView);
+	static void TestTodoOnMaxDateL(CTestDataStruct& aData, CCalEntryView* aEntryView);
+	};
+
+#endif //__tCal_Instance_TestData_h__
+