Changeset - 42d2002fda44
[Not reviewed]
0 2 0
Brett Smith - 4 years ago 2020-06-21 15:39:31
brettcsmith@brettcsmith.org
reports: Balance.format(None) uses accounting formats.
2 files changed with 7 insertions and 5 deletions:
0 comments (0 inline, 0 general)
conservancy_beancount/reports/core.py
Show inline comments
...
 
@@ -228,14 +228,15 @@ class Balance(Mapping[str, data.Amount]):
 
        elif zero is not None and balance.is_zero():
 
            return zero
 
        else:
 
            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
 
            )
 

	
 

	
 
class MutableBalance(Balance):
 
    __slots__ = ()
 

	
tests/test_reports_balance.py
Show inline comments
...
 
@@ -416,16 +416,17 @@ def test_format_fmt(fmt, expected):
 
def test_format_sep(sep):
 
    mapping, expected = DEFAULT_STRINGS[-1]
 
    expected = expected.replace(', ', 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', [
 
    "N/A",
 
    "Zero",
 
    "ΓΈ",
0 comments (0 inline, 0 general)