diff -r 000000000000 -r f979ecb2b13e pimappservices/calendar/tsrc/tcal_instance_testdata.h --- /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 +#include +#include + +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 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__ +