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