Skip to content

Commit a3d25d1

Browse files
committed
feat(issue-63): Fix if len(doc) < 11 and cpf tests
1 parent 9f267cb commit a3d25d1

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

tests/test_CPF.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,10 @@ def test_special_case(self):
6060
def test_add_leading_zeros(self):
6161
"""Verifica se o método de adicionar zeros à esquerda funciona corretamente."""
6262
cases = [
63-
('123456789', '00123456789'), # 9 digits
64-
('12345678901', '12345678901'), # 11 digits
65-
('1234567', '00001234567'), # 7 digits
63+
('123456789', False), # 9 digitos
64+
('12345678901', False), # 11 digitos
65+
('1234567', False), # 7 digitos
66+
('9380826044', True) # cpf valido
6667
]
67-
for cpf_input, expected_output in cases:
68-
self.assertEqual(self.cpf._complete_with_zeros(cpf_input), expected_output)
69-
70-
# Testa se a entrada ja tem o tamanho correto, não deve adicionar zeros
71-
self.assertEqual(self.cpf._complete_with_zeros('00123456789'), '00123456789')
72-
self.assertEqual(self.cpf._complete_with_zeros('23456789012'), '23456789012')
68+
for cpf_input, is_valid in cases:
69+
self.assertEqual(self.cpf.validate(cpf_input), is_valid)

validate_docbr/CPF.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def validate(self, doc: str = '') -> bool:
1818

1919
doc = list(self._only_digits(doc))
2020

21-
if len(doc) != 11:
21+
if len(doc) < 11:
2222
doc = self._complete_with_zeros(doc)
2323

2424
if not self.repeated_digits and self._check_repeated_digits(doc):
@@ -77,6 +77,7 @@ def _check_repeated_digits(self, doc: List[str]) -> bool:
7777
Exemplo: 111.111.111-11"""
7878
return len(set(doc)) == 1
7979

80-
def _complete_with_zeros(self, doc: list[str]) -> list[str]:
81-
"""Adiciona zeros a esquerda para completar o CPF."""
82-
return '0' * (11 - len(doc)) + str(doc)
80+
def _complete_with_zeros(self, doc: str) -> list[str]:
81+
"""Adiciona zeros à esquerda para completar o CPF."""
82+
zeros_needed = 11 - len(doc)
83+
return ['0'] * zeros_needed + doc

0 commit comments

Comments
 (0)