Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.icu.text.CompactDecimalFormat;
- import androidx.test.runner.AndroidJUnit4;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import java.util.Locale;
- import static org.junit.Assert.assertEquals;
- @RunWith(AndroidJUnit4.class)
- public class CompactDecimalFormatTest {
- private final CompactDecimalFormat testObject = CompactDecimalFormat.getInstance(
- Locale.ENGLISH,
- CompactDecimalFormat.CompactStyle.SHORT
- );
- // Fails on API 24. Works on API 28
- @Test
- public void testSignificantDigitsUsedFalseThenSetMaximumIntegerDigitsThenSetMaximumFractionDigitsForOneThousandish() {
- testObject.setSignificantDigitsUsed(false);
- testObject.setMaximumIntegerDigits(3);
- testObject.setMaximumFractionDigits(1);
- final String actual = testObject.format(1_234);
- assertEquals("1.2K", actual);
- // API 24: "1K"
- // API 28: "1.2K"
- }
- // Fails on API 24. Works on API 28
- @Test
- public void testSetMaximumIntegerDigitsThenSetMaximumFractionDigitsThenSetSignificantDigitsUsedFalseOneThousandish() {
- testObject.setMaximumIntegerDigits(3);
- testObject.setMaximumFractionDigits(1);
- testObject.setSignificantDigitsUsed(false);
- final String actual = testObject.format(1_234);
- assertEquals("1.2K", actual);
- // API 24: "1K"
- // API 28: "1.2K"
- }
- // Works on API 24 and API 28
- @Test
- public void testSetMaximumSignificantDigitsOneThousandish() {
- testObject.setMaximumSignificantDigits(2);
- final String actual = testObject.format(1_234);
- assertEquals("1.2K", actual);
- }
- // Fails on API 24. Works on API 28
- @Test
- public void testSignificantDigitsUsedFalseThenSetMaximumIntegerDigitsThenSetMaximumFractionDigitsForTenThousandish() {
- testObject.setSignificantDigitsUsed(false);
- testObject.setMaximumIntegerDigits(3);
- testObject.setMaximumFractionDigits(1);
- final String actual = testObject.format(12_345);
- assertEquals("12.3K", actual);
- // API 24: "10K"
- // API 28: "12.3K"
- }
- // Fails on API 24. Works on API 28
- @Test
- public void testSetMaximumIntegerDigitsThenSetMaximumFractionDigitsThenSetSignificantDigitsUsedFalseTenThousandish() {
- testObject.setMaximumIntegerDigits(3);
- testObject.setMaximumFractionDigits(1);
- testObject.setSignificantDigitsUsed(false);
- final String actual = testObject.format(12_345);
- assertEquals("12.3K", actual);
- // API 24: "10K"
- // API 28: "12.3K"
- }
- // Works on API 24 and API 28
- @Test
- public void testSetMaximumSignificantDigitsTenThousandish() {
- testObject.setMaximumSignificantDigits(3);
- final String actual = testObject.format(12_345);
- assertEquals("12.3K", actual);
- }
- // Fails on API 24. Works on API 28
- @Test
- public void testSignificantDigitsUsedFalseThenSetMaximumIntegerDigitsThenSetMaximumFractionDigitsForHundredThousandish() {
- testObject.setSignificantDigitsUsed(false);
- testObject.setMaximumIntegerDigits(3);
- testObject.setMaximumFractionDigits(1);
- final String actual = testObject.format(123_456);
- assertEquals("123.5K", actual); // rounding
- // API 24: "100K"
- // API 28: "123.5K"
- }
- // Fails on API 24. Works on API 28
- @Test
- public void testSetMaximumIntegerDigitsThenSetMaximumFractionDigitsThenSetSignificantDigitsUsedFalseHundredThousandish() {
- testObject.setMaximumIntegerDigits(3);
- testObject.setMaximumFractionDigits(1);
- testObject.setSignificantDigitsUsed(false);
- final String actual = testObject.format(123_456);
- assertEquals("123.5K", actual); // rounding
- // API 24: "100K"
- // API 28: "123.5K"
- }
- // Works on API 24 and API 28
- @Test
- public void testSetMaximumSignificantDigitsHundredThousandish() {
- testObject.setMaximumSignificantDigits(4);
- final String actual = testObject.format(123_456);
- assertEquals("123.5K", actual); // rounding
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement