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