alvarofpp / alvarofpp/validate-docbr
TituloEleitoral.generate() não gera UFs de 19 a 28
- 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
Bewertung
Dieses Issue wurde noch nicht bewertet.