summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Chang <vichang@google.com>2020-03-30 20:06:41 +0100
committerVictor Chang <vichang@google.com>2020-03-31 16:24:17 +0100
commitbfb4e217b8566d4329cf04aed2fbf797abebfcb7 (patch)
tree17357f093acc4211c92666550ff9eabce5c53270
parent5b0eea5d7f0b86653c18d7cdb4fa6d2ee3cd4550 (diff)
downloadicu-bfb4e217b8566d4329cf04aed2fbf797abebfcb7.tar.gz
Add API coverage to android.icu.number
Add test coverage of the following APIs: android.icu.number FormattedNumber charAt(int) android.icu.number FormattedNumber length() android.icu.number FormattedNumber subSequence(int, int) android.icu.number FormattedNumber toBigDecimal() android.icu.number FormattedNumberRange charAt(int) android.icu.number FormattedNumberRange getFirstBigDecimal() android.icu.number FormattedNumberRange getIdentityResult() android.icu.number FormattedNumberRange getSecondBigDecimal() android.icu.number FormattedNumberRange length() android.icu.number FormattedNumberRange subSequence(int, int) android.icu.number FormattedNumberRange toCharacterIterator() android.icu.number LocalizedNumberRangeFormatter formatRange(double, double) Bug: 152381651 Test: CtsIcuTestCases Merged-In: I8ab4cc11ad446d12271e724b1927e6a3a3737479 Change-Id: I8ab4cc11ad446d12271e724b1927e6a3a3737479 (cherry picked from commit ad2ceb1ef3f28e659df15631d8ab0b1eb28ceed8)
-rw-r--r--android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberRangeTest.java46
-rw-r--r--android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberTest.java32
2 files changed, 78 insertions, 0 deletions
diff --git a/android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberRangeTest.java b/android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberRangeTest.java
new file mode 100644
index 000000000..031c135d4
--- /dev/null
+++ b/android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberRangeTest.java
@@ -0,0 +1,46 @@
+// © 2020 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+package android.icu.extratest.number;
+
+import android.icu.dev.test.TestFmwk;
+import android.icu.number.FormattedNumberRange;
+import android.icu.number.NumberRangeFormatter;
+import android.icu.number.NumberRangeFormatter.RangeIdentityResult;
+import android.icu.testsharding.MainTestShard;
+import android.icu.util.ULocale;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.text.AttributedCharacterIterator;
+import java.text.CharacterIterator;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@MainTestShard
+@RunWith(JUnit4.class)
+public class FormattedNumberRangeTest extends TestFmwk {
+
+ @Test
+ public void test_enUS() {
+ FormattedNumberRange range = NumberRangeFormatter.withLocale(ULocale.US)
+ .formatRange(-99.99d, 123.45d);
+ String expected = "-99.99 – 123.45";
+ assertEquals("Test toString()", expected, range.toString());
+ assertEquals("Test charAt()", '-', range.charAt(0));
+ assertEquals("Test length()", 15, range.length());
+ assertEquals("Test subSequence()", "9.9", range.subSequence(2,5));
+ assertEquals("Test getIdentityResult()", RangeIdentityResult.NOT_EQUAL,
+ range.getIdentityResult());
+ assertEquals("Test getFirstBigDecimal()", new BigDecimal(BigInteger.valueOf(-9999), 2),
+ range.getFirstBigDecimal());
+ assertEquals("Test getSecondBigDecimal()", new BigDecimal(BigInteger.valueOf(12345), 2),
+ range.getSecondBigDecimal());
+
+ AttributedCharacterIterator iter = range.toCharacterIterator();
+ for (char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
+ assertEquals("Test toCharacterIterator():" + iter.getIndex(),
+ expected.charAt(iter.getIndex()), c);
+ }
+ }
+}
diff --git a/android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberTest.java b/android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberTest.java
new file mode 100644
index 000000000..882a5b3ca
--- /dev/null
+++ b/android_icu4j/testing/src/android/icu/extratest/number/FormattedNumberTest.java
@@ -0,0 +1,32 @@
+// © 2020 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+package android.icu.extratest.number;
+
+import android.icu.dev.test.TestFmwk;
+import android.icu.number.FormattedNumber;
+import android.icu.number.NumberFormatter;
+import android.icu.testsharding.MainTestShard;
+import android.icu.util.ULocale;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@MainTestShard
+@RunWith(JUnit4.class)
+public class FormattedNumberTest extends TestFmwk {
+
+ @Test
+ public void test_enUS() {
+ FormattedNumber formattedNumber =
+ NumberFormatter.withLocale(ULocale.US).format(123.45);
+ assertEquals("Test toString()", "123.45", formattedNumber.toString());
+ assertEquals("Test charAt()", '2', formattedNumber.charAt(1));
+ assertEquals("Test length()", 6, formattedNumber.length());
+ assertEquals("Test subSequence()", "3.4", formattedNumber.subSequence(2,5));
+ assertEquals("Test toBigDecimal()", new BigDecimal(BigInteger.valueOf(12345), 2),
+ formattedNumber.toBigDecimal());
+ }
+}