Esempio n. 1
0
def test_money_formatter_digit_grouping():
    with translation.override("en-US"):
        assert money(usd(12345678)) == "$12,345,678.00"
    with translation.override("fi-FI"):
        assert money(usd(12345678)) == nbsp("12 345 678,00 $")
    with translation.override("ar-QA"):
        assert money(usd(12345678)) == nbsp("US$ 12,345,678.00")
Esempio n. 2
0
def test_money_formatter_with_extra_digits():
    with translation.override("en-US"):
        assert money(usd("1234.123456"), widen=0) == "$1,234.12"
        assert money(usd("1234.123456"), widen=1) == "$1,234.123"
        assert money(usd("1234.123456"), widen=2) == "$1,234.1235"
        assert money(usd("1234.123456"), widen=3) == "$1,234.12346"
        assert money(usd("1234.123456"), widen=4) == "$1,234.123456"
    with translation.override("fi-FI"):
        assert money(usd("1234.123456"), widen=0) == nbsp("1 234,12 $")
        assert money(usd("1234.123456"), widen=1) == nbsp("1 234,123 $")
        assert money(usd("1234.123456"), widen=2) == nbsp("1 234,1235 $")
        assert money(usd("1234.123456"), widen=3) == nbsp("1 234,12346 $")
        assert money(usd("1234.123456"), widen=4) == nbsp("1 234,123456 $")
Esempio n. 3
0
def test_money_formatter_fi():
    with translation.override("fi-FI"):
        assert money(Money("29.99", "USD")) == nbsp("29,99 $")
        assert money(Money("29.99", "EUR")) == nbsp("29,99 €")
        assert money(Money("29.99", "GBP")) == nbsp("29,99 £")
        assert money(Money("29.99", "CAD")) == nbsp("29,99 CAD")
        assert money(Money("29.99", "JPY")) == nbsp("30 ¥")  # No such thing as a decimal yen!
        assert money(Money("29.99", "CNY")) == nbsp("29,99 CNY")
        assert money(Money("29.99", "KRW")) == nbsp("30 KRW")  # the 1/100 subunit "jeon" is theoretical and not in use
        assert money(Money("29.99", "SEK")) == nbsp("29,99 SEK")
Esempio n. 4
0
def test_money_formatter_en():
    with translation.override("en-US"):
        assert money(Money("29.99", "USD")) == "$29.99"
        assert money(Money("29.99", "EUR")) == "€29.99"
        assert money(Money("29.99", "GBP")) == "£29.99"
        assert money(Money("29.99", "CAD")) == "CA$29.99"
        assert money(Money("29.99", "JPY")) == "¥30"  # No such thing as a decimal yen!
        assert money(Money("29.99", "CNY")) == "CN¥29.99"
        assert money(Money("29.99", "KRW")) == "₩30"  # the 1/100 subunit "jeon" is theoretical and not in use
        assert money(Money("29.99", "SEK")) == "kr29.99"
def test_order_price_display():
    shop = get_default_shop()
    supplier = get_default_supplier()
    order = _get_order(shop, supplier)

    # Formatted line prices should match with the formatted order total prices
    # Strip euro sign before converting formatted price to decimal
    taxful_total = decimal.Decimal("0.00")
    taxless_total = decimal.Decimal("0.00")
    for line in order.lines.all():
        taxful_total += decimal.Decimal(
            money(line.taxful_price).strip("\u20ac"))
        taxless_total += decimal.Decimal(
            money(line.taxless_price).strip("\u20ac"))
    assert decimal.Decimal(money(
        order.taxful_total_price).strip("\u20ac")) == taxful_total
    assert decimal.Decimal(money(
        order.taxless_total_price).strip("\u20ac")) == taxless_total
Esempio n. 6
0
def test_money_formatter_default_digit_rounding():
    with translation.override("en-US"):
        assert money(usd("1.234")) == "$1.23"
        assert money(usd("1.235")) == "$1.24"
        assert money(usd("1.244")) == "$1.24"
        assert money(usd("1.245")) == "$1.24"
        assert money(usd("1.254")) == "$1.25"
        assert money(usd("1.255")) == "$1.26"
        assert money(usd("1.111111111111")) == "$1.11"
Esempio n. 7
0
def test_money_formatter_with_specified_digits():
    with translation.override("en-US"):
        assert money(usd("1234.123456"), digits=0) == "$1,234"
        assert money(usd("1234.123456"), digits=1) == "$1,234.1"
        assert money(usd("1234.123456"), digits=3) == "$1,234.123"
        assert money(usd("1234.123456"), digits=4) == "$1,234.1235"
        assert money(usd("1234.123456"), digits=5) == "$1,234.12346"
        assert money(usd("1234.123456"), digits=6) == "$1,234.123456"
    with translation.override("fi-FI"):
        assert money(usd("1234.123456"), digits=0) == nbsp("1 234 $")
        assert money(usd("1234.123456"), digits=1) == nbsp("1 234,1 $")
        assert money(usd("1234.123456"), digits=3) == nbsp("1 234,123 $")
        assert money(usd("1234.123456"), digits=4) == nbsp("1 234,1235 $")
        assert money(usd("1234.123456"), digits=5) == nbsp("1 234,12346 $")
        assert money(usd("1234.123456"), digits=6) == nbsp("1 234,123456 $")
Esempio n. 8
0
def test_money_formatter_default_digit_expanding():
    with translation.override("en-US"):
        assert money(usd(0)) == "$0.00"
        assert money(usd(1)) == "$1.00"