def test_pt_real(self): ''' Verifica se a formatação de real em pt_br está correta ''' fmt = NumberFormatter.format(53.481, { "format": 'real', "str_locale": 'pt_br' }) self.assertEqual(fmt, "53")
def test_pt_inteiro(self): ''' Verifica se a formatação de inteiro em pt_br está correta ''' fmt = NumberFormatter.format(2019, { "format": 'inteiro', "str_locale": 'pt_br' }) self.assertEqual(fmt, "2.019")
def test_pt_percentual(self): ''' Verifica se a formatação de percentual em pt_br está correta ''' fmt = NumberFormatter.format(53.481, { "format": 'porcentagem', "str_locale": 'pt_br' }) self.assertEqual(fmt, "53,5<span>%</span>")
def test_dinheiro_pt_no_precision(self): ''' Verifica se a formatação de dinheiro com precisão em pt_br está correta ''' fmt = NumberFormatter.format(53481.583, { "format": 'monetario', "str_locale": 'pt_br', "precision": 1 }) self.assertEqual(fmt, "<span>R$</span>53.481,6")
def get_formatted_value(structure, data_collection): ''' Gets the formatted value ''' if (structure['base_object'] in data_collection and data_collection[structure['base_object']] is not None): fmt_arg = data_collection[structure['base_object']][ structure['named_prop']] if 'format' in structure: fmt_arg = NumberFormatter.format(fmt_arg, structure) return fmt_arg return "N/D"
def test_pt_collapsed(self): ''' Verifica se a formatação de número colapsado em pt_br está correta ''' fmt = NumberFormatter.format( 53481, { "format": 'real', "collapse": { "format": "real" }, "str_locale": 'pt_br' }) self.assertEqual(fmt, "53,5<span>mil</span>")
def test_pt_collapsed_no_tags(self): ''' Verifica se a formatação de número colapsado em pt_br está correta ''' fmt = NumberFormatter.format( 53481, { "format": 'real', "collapse": { "format": "real", "uiTags": False }, "str_locale": 'pt_br' }) self.assertEqual(fmt, "53,5mil")
def run_formatters(each_obj_struct, each_obj): ''' Runs formatters from config ''' for each_fmt in each_obj_struct: args = {'format': each_fmt['format']} if 'precision' in each_fmt: args['precision'] = each_fmt['precision'] if 'multiplier' in each_fmt: args['multiplier'] = int(each_fmt['multiplier']) else: args['multiplier'] = 1 if 'collapse' in each_fmt: args['collapse'] = each_fmt['collapse'] else: args['collapse'] = None if 'default' in each_fmt: args['default'] = each_fmt['default'] # Creates formatted column by applying number format method # in the declared named_prop each_obj['dataset'][each_fmt['prop']] = [ NumberFormatter.format(row[each_fmt['named_prop']], args) for index, row in each_obj['dataset'].iterrows() ] return each_obj
def test_no_valor_with_no_default(self): ''' Verifica se retorna '-' quando não há nem valor nem default ''' fmt = NumberFormatter.format(None, {}) self.assertEqual(fmt, "-")
def test_valor_with_no_format(self): ''' Verifica se retorna o próprio valor quando não há definição de formato ''' fmt = NumberFormatter.format(99, {}) self.assertEqual(fmt, 99)
def test_no_valor_with_default(self): ''' Verifica se retorna default quando não há valor ''' fmt = NumberFormatter.format(None, {"default": "N/A"}) self.assertEqual(fmt, "N/A")