Skip to content

Conversão de UF para Nome de Estado #395

Open
@camilamaia

Description

@camilamaia

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

  1. Seguir até o passo 8 do guia de contribuição.

  2. 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 arquivo brutils-python/brutils/__init__.py:

    __all__ = [
        ...
        # UF
        'convert_uf_to_text',
    ]
  3. 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
  4. 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

Labels

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions