]> granicus.if.org Git - icu/commitdiff
ICU-13056 NumberFormatTest Test GroupingSize
authorAndy Heninger <andy.heninger@gmail.com>
Mon, 7 May 2018 23:05:50 +0000 (23:05 +0000)
committerAndy Heninger <andy.heninger@gmail.com>
Mon, 7 May 2018 23:05:50 +0000 (23:05 +0000)
X-SVN-Rev: 41343

icu4c/source/test/intltest/numfmtst.cpp
icu4c/source/test/intltest/numfmtst.h

index 7baf98538d66cca26ba6ec182b8b57ce9808660d..f12ac01e76b29bc66e1cee24775fef41bcbb36cb 100644 (file)
@@ -671,6 +671,7 @@ void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &n
   TESTCASE_AUTO(Test10354);
   TESTCASE_AUTO(Test11645_ApplyPatternEquality);
   TESTCASE_AUTO(Test11648_ExpDecFormatMalPattern);
+  TESTCASE_AUTO(Test13056_GroupingSize);
   TESTCASE_AUTO_END;
 }
 
@@ -9375,4 +9376,18 @@ void NumberFormatTest::Test11648_ExpDecFormatMalPattern() {
     assertSuccess("", status);
 }
 
+void NumberFormatTest::Test13056_GroupingSize() {
+    UErrorCode status = U_ZERO_ERROR;
+    DecimalFormat df(u"#,##0", status);
+    if (!assertSuccess("", status)) return;
+    assertEquals("Primary grouping should return 3", 3, df.getGroupingSize());
+    assertEquals("Secondary grouping should return 0", 0, df.getSecondaryGroupingSize());
+    df.setSecondaryGroupingSize(3);
+    assertEquals("Primary grouping should still return 3", 3, df.getGroupingSize());
+    assertEquals("Secondary grouping should round-trip", 3, df.getSecondaryGroupingSize());
+    df.setGroupingSize(4);
+    assertEquals("Primary grouping should return 4", 4, df.getGroupingSize());
+    assertEquals("Secondary should remember explicit setting and return 3", 3, df.getSecondaryGroupingSize());
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 6634cd30677562cffcab76bcecf4a5941f09c937..aabd025e6029228a976400339075d11bb153cdb0 100644 (file)
@@ -236,6 +236,7 @@ class NumberFormatTest: public CalendarTimeZoneTest {
     void Test10354();
     void Test11645_ApplyPatternEquality();
     void Test11648_ExpDecFormatMalPattern();
+    void Test13056_GroupingSize();
 
  private:
     UBool testFormattableAsUFormattable(const char *file, int line, Formattable &f);