]> granicus.if.org Git - icu/commitdiff
ICU-10640 Add tests to be sure that TimeUnitFormat and CurrencyFormat are stand-ins...
authorTravis Keep <keep94@gmail.com>
Thu, 30 Jan 2014 18:21:57 +0000 (18:21 +0000)
committerTravis Keep <keep94@gmail.com>
Thu, 30 Jan 2014 18:21:57 +0000 (18:21 +0000)
X-SVN-Rev: 35037

icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java
icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/TimeUnitTest.java

index 842acf478eab0ec953e8d504f3aa76ec552452eb..6fa06254394adee6a7af45b965e776ece71e3857 100644 (file)
@@ -28,6 +28,7 @@ import com.ibm.icu.dev.test.serializable.SerializableTest;
 import com.ibm.icu.impl.Utility;
 import com.ibm.icu.math.BigDecimal;
 import com.ibm.icu.text.MeasureFormat;
+import com.ibm.icu.text.TimeUnitFormat;
 import com.ibm.icu.text.MeasureFormat.FormatWidth;
 import com.ibm.icu.text.NumberFormat;
 import com.ibm.icu.util.Currency;
@@ -562,6 +563,19 @@ public class MeasureUnitTest extends TestFmwk {
         assertEquals("FormatWidth.NUMERIC", 3, FormatWidth.NUMERIC.ordinal());
     }
     
+    public void testCurrencyFormatStandInForMeasureFormat() {
+        MeasureFormat mf = MeasureFormat.getCurrencyFormat(ULocale.ENGLISH);
+        assertEquals(
+                "70 feet, 5.3 inches",
+                "70 feet, 5.3 inches",
+                mf.formatMeasures(
+                        new Measure(70, MeasureUnit.FOOT),
+                        new Measure(5.3, MeasureUnit.INCH)));
+        assertEquals("getLocale", ULocale.ENGLISH, mf.getLocale());
+        assertEquals("getNumberFormat", ULocale.ENGLISH, mf.getNumberFormat().getLocale(ULocale.VALID_LOCALE));
+        assertEquals("getWidth", MeasureFormat.FormatWidth.WIDE, mf.getWidth());
+    }
+    
     static void generateCXXHConstants() {
         Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
         TreeMap<String, List<MeasureUnit>> allUnits = new TreeMap<String, List<MeasureUnit>>();
index 674fa1192eb84d08514983d6bda98cf73d73ee71..b7096e9099ec4ea3669e4dc6f097a2dc883948ef 100644 (file)
@@ -15,6 +15,8 @@ import com.ibm.icu.math.BigDecimal;
 import com.ibm.icu.text.MeasureFormat;
 import com.ibm.icu.text.NumberFormat;
 import com.ibm.icu.text.TimeUnitFormat;
+import com.ibm.icu.util.Measure;
+import com.ibm.icu.util.MeasureUnit;
 import com.ibm.icu.util.TimeUnit;
 import com.ibm.icu.util.TimeUnitAmount;
 import com.ibm.icu.util.ULocale;
@@ -379,6 +381,22 @@ public class TimeUnitTest extends TestFmwk {
         tuf1.parseObject("", new ParsePosition(0));
     }
     
+    public void TestStandInForMeasureFormat() {
+        TimeUnitFormat tuf = new TimeUnitFormat(ULocale.FRENCH, TimeUnitFormat.ABBREVIATED_NAME);
+        Measure measure = new Measure(23, MeasureUnit.CELSIUS);
+        assertEquals("23 °C", "23 °C", tuf.format(measure));
+        tuf = new TimeUnitFormat(ULocale.FRENCH, TimeUnitFormat.FULL_NAME);
+        assertEquals(
+                "70 pied et 5,3 pouces",
+                "70 pieds et 5,3 pouces",
+                tuf.formatMeasures(
+                        new Measure(70, MeasureUnit.FOOT),
+                        new Measure(5.3, MeasureUnit.INCH)));
+        assertEquals("getLocale", ULocale.FRENCH, tuf.getLocale());
+        assertEquals("getNumberFormat", ULocale.FRENCH, tuf.getNumberFormat().getLocale(ULocale.VALID_LOCALE));
+        assertEquals("getWidth", MeasureFormat.FormatWidth.WIDE, tuf.getWidth());
+    }
+    
     private void verifyEqualsHashCode(Object o, Object eq, Object ne) {
         assertEquals("verifyEqualsHashCodeSame", o, o);
         assertEquals("verifyEqualsHashCodeEq", o, eq);