]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/tsdate.h
ICU-400.38.tar.gz
[apple/icu.git] / icuSources / test / intltest / tsdate.h
1 /********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1997-2003, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7 #ifndef _INTLTESTDATEFORMAT
8 #define _INTLTESTDATEFORMAT
9
10 #include "unicode/utypes.h"
11
12 #if !UCONFIG_NO_FORMATTING
13
14 #include "unicode/unistr.h"
15 #include "unicode/datefmt.h"
16 #include "intltest.h"
17
18 /**
19 * Performs some tests in many variations on DateFormat
20 **/
21 class IntlTestDateFormat: public IntlTest {
22 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
23
24 private:
25
26 /**
27 * test DateFormat::getAvailableLocales
28 **/
29 void testAvailableLocales(/* char* par */);
30 /**
31 * call testLocale for all locales
32 **/
33 void monsterTest(/* char *par */);
34
35 /**
36 * call tryDate with variations, called by testLocale
37 **/
38 void testFormat(/* char* par */);
39 /**
40 * perform tests using date and fFormat, called in many variations
41 **/
42 void tryDate(UDate date);
43 /**
44 * call testFormat for different DateFormat::EStyle's, etc
45 **/
46 void testLocale(/*char *par, */const Locale&, const UnicodeString&);
47 /**
48 * return a random number
49 **/
50 double randDouble(void);
51 /**
52 * generate description for verbose test output
53 **/
54 void describeTest(void);
55
56 DateFormat *fFormat;
57 UnicodeString fTestName;
58 int32_t fLimit; // How many iterations it should take to reach convergence
59
60 enum
61 {
62 // Values in milliseconds (== Date)
63 ONESECOND = 1000,
64 ONEMINUTE = 60 * ONESECOND,
65 ONEHOUR = 60 * ONEMINUTE,
66 ONEDAY = 24 * ONEHOUR
67 };
68 static const double ONEYEAR;
69 enum EMode
70 {
71 GENERIC,
72 TIME,
73 DATE,
74 DATE_TIME
75 };
76 public:
77 virtual ~IntlTestDateFormat();
78 };
79
80 #endif /* #if !UCONFIG_NO_FORMATTING */
81
82 #endif