Description
Seu pedido de recurso está relacionado a um problema? Por favor, descreva.
Dado um código de Unidade Federativa (UF) do Brasil, quero obter o nome completo do estado correspondente. Isso é útil para conversão de siglas de estados em nomes completos em sistemas e documentos.
Por exemplo, converter "SP"
para "São Paulo"
.
Descreva a solução que você gostaria
- Uma função
convert_uf_to_text
, que recebe um código de UF (string de 2 letras) e retorna o nome completo do estado correspondente. - A função deve verificar se o código UF é válido e retornar o nome do estado correspondente.
- Se o código UF não for válido, a função deve retornar
None
. - A função deve lidar com todos os estados e o Distrito Federal do Brasil.
- Já existe uma lista das UFs no arquivo
brutils/data/enums/uf.py
. Ela deve ser reutilizada.
Descreva alternativas que você considerou
-
Seguir até o passo 8 do guia de contribuição.
-
Como parte do passo 8, criar o arquivo:
brutils-python/brutils/ibge/uf.py
.def convert_uf_to_text(uf): # type: (str) -> str | None """ Converts a given Brazilian state code (UF) to its full state name. This function takes a 2-letter UF code and returns the corresponding full state name. It handles all Brazilian states and the Federal District. Args: uf (str): The 2-letter UF code to be converted. Returns: str or None: The full name of the state corresponding to the UF code, or None if the UF code is invalid. Example: >>> convert_uf_to_text('SP') "São Paulo" >>> convert_uf_to_text('RJ') "Rio de Janeiro" >>> convert_uf_to_text('XX') None """ # implementar a lógica da função aqui
Importar a nova função no arquivo
brutils-python/brutils/__init__.py
:# UF Imports from brutils.ibge.uf import ( convert_uf_to_text, )
E adicionar o nome da nova função na lista
__all__
do mesmo arquivobrutils-python/brutils/__init__.py
:__all__ = [ ... # UF 'convert_uf_to_text', ]
-
Como parte do passo 9, criar o arquivo de teste:
brutils-python/tests/ibge/test_uf.py
.from unittest import TestCase from brutils.ibge.uf import convert_uf_to_text class TestUF(TestCase): def test_convert_uf_to_text(self): # Testes para códigos válidos self.assertEqual(convert_uf_to_text('SP'), "São Paulo") self.assertEqual(convert_uf_to_text('RJ'), "Rio de Janeiro") self.assertEqual(convert_uf_to_text('MG'), "Minas Gerais") self.assertEqual(convert_uf_to_text('DF'), "Distrito Federal") self.assertEqual(convert_uf_to_text('df'), "Distrito Federal") # Testes para códigos inválidos self.assertIsNone(convert_uf_to_text('XX')) # Código não existe self.assertIsNone(convert_uf_to_text('')) # Código vazio # Implementar mais casos de teste aqui
-
Seguir os passos seguintes do guia de contribuição.
Contexto adicional
- A lista de estados e suas siglas é definida pelo Instituto Brasileiro de Geografia e Estatística (IBGE). Para mais detalhes, consulte o site do IBGE.
- A sigla deve ser verificada contra a lista oficial de estados e do Distrito Federal.
Metadata
Metadata
Assignees
Type
Projects
Status