e06d593ff5218c587b5075fd7f3093ac68185980
[platform/upstream/icu.git] / source / test / intltest / itrbnfrt.h
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4  *******************************************************************************
5  * Copyright (C) 1996-2006, International Business Machines Corporation and    *
6  * others. All Rights Reserved.                                                *
7  *******************************************************************************
8  */
9
10 #ifndef ITRBNFRT_H
11 #define ITRBNFRT_H
12
13 #include "unicode/utypes.h"
14
15 #if !UCONFIG_NO_FORMATTING
16
17 #include "intltest.h"
18 #include "unicode/rbnf.h"
19
20 class RbnfRoundTripTest : public IntlTest {
21
22   // IntlTest override
23   virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par);
24
25 #if U_HAVE_RBNF
26   /**
27    * Perform an exhaustive round-trip test on the English spellout rules
28    */
29   virtual void TestEnglishSpelloutRT();
30
31   /**
32    * Perform an exhaustive round-trip test on the duration-formatting rules
33    */
34   virtual void TestDurationsRT();
35
36   /**
37    * Perform an exhaustive round-trip test on the Spanish spellout rules
38    */
39   virtual void TestSpanishSpelloutRT();
40
41   /**
42    * Perform an exhaustive round-trip test on the French spellout rules
43    */
44   virtual void TestFrenchSpelloutRT();
45
46   /**
47    * Perform an exhaustive round-trip test on the Swiss French spellout rules
48    */
49   virtual void TestSwissFrenchSpelloutRT();
50
51   /**
52    * Perform an exhaustive round-trip test on the Italian spellout rules
53    */
54   virtual void TestItalianSpelloutRT();
55
56   /**
57    * Perform an exhaustive round-trip test on the German spellout rules
58    */
59   virtual void TestGermanSpelloutRT();
60
61   /**
62    * Perform an exhaustive round-trip test on the Swedish spellout rules
63    */
64   virtual void TestSwedishSpelloutRT();
65
66   /**
67    * Perform an exhaustive round-trip test on the Dutch spellout rules
68    */
69   virtual void TestDutchSpelloutRT();
70
71   /**
72    * Perform an exhaustive round-trip test on the Japanese spellout rules
73    */
74   virtual void TestJapaneseSpelloutRT();
75
76   /**
77    * Perform an exhaustive round-trip test on the Russian spellout rules
78    */
79   virtual void TestRussianSpelloutRT();
80
81   /**
82    * Perform an exhaustive round-trip test on the Portuguese spellout rules
83    */
84   virtual void TestPortugueseSpelloutRT();
85
86  protected:
87   void doTest(const RuleBasedNumberFormat* formatter,  double lowLimit, double highLimit);
88
89   /* U_HAVE_RBNF */
90 #else
91
92   void TestRBNFDisabled();
93
94   /* U_HAVE_RBNF */
95 #endif
96 };
97
98 #endif /* #if !UCONFIG_NO_FORMATTING */
99
100 // endif ITRBNFRT_H
101 #endif