1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)/********************************************************************
2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * COPYRIGHT:
3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * Copyright (c) 2007, International Business Machines Corporation and
4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * others. All Rights Reserved.
5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ********************************************************************/
6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)/**
8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * DataDrivenCalendarTest is a test class that uses data stored in resource
9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * bundles to perform testing. For more details on data structure, see
10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * source/test/testdata/calendar.txt
11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) */
12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#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