def test_number_format(): setlocale('en') td = ( # w/o grouping (("%f", 1024), '1024.000000'), (("%f", 102), '102.000000'), (("%f", -42), '-42.000000'), (("%+f", -42), '-42.000000'), (("%20.f", -42), ' -42'), (("%+10.f", -4200), ' -4200'), (("%-10.f", 4200),'4200 '), # with grouping (("%f", 1024, 1), '1,024.000000'), (("%f", 102, 1), '102.000000'), (("%f", -42, 1), '-42.000000'), (("%+f", -42, 1), '-42.000000'), (("%20.f", -42, 1), ' -42'), (("%+10.f", -4200, 1), ' -4,200'), (("%-10.f", 4200, 1),'4,200 '), ) for args, res in td: assert format(*args) == res, '%r != %r' % (format(*args), res)
def test_conversion(): setlocale('en') # INT val = 123456789 s1 = format("%d", 123456789, 1) assert s1 == '123,456,789', '%r != %r' % (val, s1) assert val == atoi(s1), '%r != %r' % (val, atoi(s1)) # FLOAT val = 123456789.14 s1 = str(val) s2 = format("%.2f", val, 1) assert s2 == '123,456,789.14', '%r != %r' % (val, s2) assert val == atof(s1), '%r != %r' % (val, atof(s1))