summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJonah Lawrence <jonah@freshidea.com>2022-10-31 09:29:23 -0600
committerGitHub <noreply@github.com>2022-10-31 17:29:23 +0200
commit05df10fd1474e929793183c3b0ffa28251df79eb (patch)
tree9cda5dd93418b7abc83ff0b3ada5d28fb453c9ff /tests
parent03c8fae835c16d63fa5f4e3141074abb8bad3e83 (diff)
downloadbabel-05df10fd1474e929793183c3b0ffa28251df79eb.tar.gz
Add support for compact decimal formats (#909)
Diffstat (limited to 'tests')
-rw-r--r--tests/test_numbers.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/test_numbers.py b/tests/test_numbers.py
index 78f7797..1b955c9 100644
--- a/tests/test_numbers.py
+++ b/tests/test_numbers.py
@@ -121,6 +121,39 @@ class FormatDecimalTestCase(unittest.TestCase):
assert numbers.format_currency(101299.98, 'EUR', locale='en_US', group_separator=True, format_type='name') == u'101,299.98 euros'
assert numbers.format_percent(251234.1234, locale='sv_SE', group_separator=True) == u'25\xa0123\xa0412\xa0%'
+ def test_compact(self):
+ assert numbers.format_compact_decimal(1, locale='en_US', format_type="short") == u'1'
+ assert numbers.format_compact_decimal(999, locale='en_US', format_type="short") == u'999'
+ assert numbers.format_compact_decimal(1000, locale='en_US', format_type="short") == u'1K'
+ assert numbers.format_compact_decimal(9000, locale='en_US', format_type="short") == u'9K'
+ assert numbers.format_compact_decimal(9123, locale='en_US', format_type="short", fraction_digits=2) == u'9.12K'
+ assert numbers.format_compact_decimal(10000, locale='en_US', format_type="short") == u'10K'
+ assert numbers.format_compact_decimal(10000, locale='en_US', format_type="short", fraction_digits=2) == u'10K'
+ assert numbers.format_compact_decimal(1000000, locale='en_US', format_type="short") == u'1M'
+ assert numbers.format_compact_decimal(9000999, locale='en_US', format_type="short") == u'9M'
+ assert numbers.format_compact_decimal(9000900099, locale='en_US', format_type="short", fraction_digits=5) == u'9.0009B'
+ assert numbers.format_compact_decimal(1, locale='en_US', format_type="long") == u'1'
+ assert numbers.format_compact_decimal(999, locale='en_US', format_type="long") == u'999'
+ assert numbers.format_compact_decimal(1000, locale='en_US', format_type="long") == u'1 thousand'
+ assert numbers.format_compact_decimal(9000, locale='en_US', format_type="long") == u'9 thousand'
+ assert numbers.format_compact_decimal(9000, locale='en_US', format_type="long", fraction_digits=2) == u'9 thousand'
+ assert numbers.format_compact_decimal(10000, locale='en_US', format_type="long") == u'10 thousand'
+ assert numbers.format_compact_decimal(10000, locale='en_US', format_type="long", fraction_digits=2) == u'10 thousand'
+ assert numbers.format_compact_decimal(1000000, locale='en_US', format_type="long") == u'1 million'
+ assert numbers.format_compact_decimal(9999999, locale='en_US', format_type="long") == u'10 million'
+ assert numbers.format_compact_decimal(9999999999, locale='en_US', format_type="long", fraction_digits=5) == u'10 billion'
+ assert numbers.format_compact_decimal(1, locale='ja_JP', format_type="short") == u'1'
+ assert numbers.format_compact_decimal(999, locale='ja_JP', format_type="short") == u'999'
+ assert numbers.format_compact_decimal(1000, locale='ja_JP', format_type="short") == u'1000'
+ assert numbers.format_compact_decimal(9123, locale='ja_JP', format_type="short") == u'9123'
+ assert numbers.format_compact_decimal(10000, locale='ja_JP', format_type="short") == u'1万'
+ assert numbers.format_compact_decimal(1234567, locale='ja_JP', format_type="long") == u'123万'
+ assert numbers.format_compact_decimal(-1, locale='en_US', format_type="short") == u'-1'
+ assert numbers.format_compact_decimal(-1234, locale='en_US', format_type="short", fraction_digits=2) == u'-1.23K'
+ assert numbers.format_compact_decimal(-123456789, format_type='short', locale='en_US') == u'-123M'
+ assert numbers.format_compact_decimal(-123456789, format_type='long', locale='en_US') == u'-123 million'
+ assert numbers.format_compact_decimal(2345678, locale='mk', format_type='long') == u'2 милиони'
+ assert numbers.format_compact_decimal(21098765, locale='mk', format_type='long') == u'21 милион'
class NumberParsingTestCase(unittest.TestCase):