• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /********************************************************************
4  * COPYRIGHT:
5  * Copyright (c) 2007, International Business Machines Corporation and
6  * others. All Rights Reserved.
7  ********************************************************************/
8 
9 /**
10  * DataDrivenCalendarTest is a test class that uses data stored in resource
11  * bundles to perform testing. For more details on data structure, see
12  * source/test/testdata/calendar.txt
13  */
14 
15 #ifndef _INTLTESTDATADRIVENCALENDAR
16 #define _INTLTESTDATADRIVENCALENDAR
17 
18 #include "unicode/utypes.h"
19 
20 #if !UCONFIG_NO_FORMATTING
21 
22 #include "tsdate.h"
23 #include "uvector.h"
24 #include "unicode/calendar.h"
25 #include "fldset.h"
26 
27 class TestDataModule;
28 class TestData;
29 class DataMap;
30 class CalendarFieldsSet;
31 
32 class DataDrivenCalendarTest : public IntlTest {
33 	void runIndexedTest(int32_t index, UBool exec, const char* &name,
34 			char* par = NULL) override;
35 public:
36 	DataDrivenCalendarTest();
37 	virtual ~DataDrivenCalendarTest();
38 protected:
39 
40 	void DataDrivenTest(char *par);
41 	void processTest(TestData *testData);
42 private:
43 	void testConvert(TestData *testData, const DataMap *settings, UBool fwd);
44 	void testOps(TestData *testData, const DataMap *settings);
45 	void testConvert(int32_t n, const CalendarFieldsSet &fromSet,
46 			Calendar *fromCal, const CalendarFieldsSet &toSet, Calendar *toCal,
47 			UBool fwd);
48 private:
49 	TestDataModule *driver;
50 };
51 
52 #endif /* #if !UCONFIG_NO_COLLATION */
53 
54 #endif
55