alvarofpp / alvarofpp/validate-docbr

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

オープン
#81 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug good first issue
主要言語
Python
スター
484
フォーク
54
PR マージ指標
30日以内にマージされた PR はありません

説明

`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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。