alvarofpp / alvarofpp/validate-docbr

TituloEleitoral.generate() não gera UFs de 19 a 28

Offen
#81 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug good first issue
Vorherrschende Sprache
Python
Sterne
484
Forks
54
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

`TituloEleitoral.generate()` sorteia o identificador de UF apenas no intervalo `01`–`18`, mas a tabela de UFs da [Resolução TSE 23.659/2021, Art. 36](https://www.tse.jus.br/legislacao/compilada/res/2021/resolucao-no-23-659-de-26-de-outubro-de-2021) vai de `01` a `28`.

Ou seja, o gerador nunca produz título eleitoral de **MS (19), DF (20), SE (21), AM (22), RO (23), AC (24), AP (25), RR (26), TO (27) e ZZ/exterior (28)**.

## Como reproduzir

```python
from validate_docbr import TituloEleitoral

t = TituloEleitoral()
print(sorted({t.generate()[8:10] for _ in range(3000)}))
# ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10',
# '11', '12', '13', '14', '15', '16', '17', '18']
```

## Origem

`validate_docbr/TituloEleitoral.py`, em `_generate_valid_state_identifier`:

```python
state_identifier = str(sample(range(1, 19), 1)[0])
```

## Solução proposta

Trocar o intervalo para `range(1, 29)` e cobrir com teste que garanta que todas as 28 UFs são alcançáveis.

Encontrado durante a apuração da #70.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.