diff --git a/conservancy_beancount/reports/core.py b/conservancy_beancount/reports/core.py index a53c4b9836e1ed3cd88b70cd497ed2f60fdd9c91..7c4f666cb9bdccf092e797a59dbf8e69d3965a7a 100644 --- a/conservancy_beancount/reports/core.py +++ b/conservancy_beancount/reports/core.py @@ -231,8 +231,9 @@ class Balance(Mapping[str, data.Amount]): amounts = list(balance.values()) amounts.sort(key=lambda amt: (-abs(amt.number), amt.currency)) return sep.join( - babel.numbers.format_currency(amt.number, amt.currency, fmt) - for amt in amounts + babel.numbers.format_currency( + amt.number, amt.currency, fmt, format_type='accounting', + ) for amt in amounts ) diff --git a/tests/test_reports_balance.py b/tests/test_reports_balance.py index 4eafad259855b52aad61d776df1007abf308df1a..8f7e1b97cef0149243e80cf74f5d9ddd2d0e9742 100644 --- a/tests/test_reports_balance.py +++ b/tests/test_reports_balance.py @@ -419,10 +419,11 @@ def test_format_sep(sep): balance = core.Balance(amounts_from_map(mapping)) assert balance.format(sep=sep) == expected -def test_format_none(): - args = (65000, 'BRL') +@pytest.mark.parametrize('number', [65000, -77000]) +def test_format_none(number): + args = (number, 'BRL') balance = core.Balance([testutil.Amount(*args)]) - expected = babel.numbers.format_currency(*args) + expected = babel.numbers.format_currency(*args, format_type='accounting') assert balance.format(None) == expected @pytest.mark.parametrize('empty', [