1 // Copyright (C) 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 102