teste_docs / tests /test_pdf_extractor.py
Guilherme Silberfarb Costa
Review venal values per SIAT exercise
3bda4f3
Raw
History Blame Contribute Delete
1.89 kB
import unittest
from extractors.pdf_extractor import (
_extrair_construcoes,
_extrair_inscricao,
anos_venais_ausentes,
anos_venais_para_revisao,
)
class PdfExtractorTests(unittest.TestCase):
def test_extrai_inscricao_nas_duas_ordens_do_pdf(self):
self.assertEqual(
_extrair_inscricao(["100006954Inscriçã 1ª DF"]),
"100006954",
)
self.assertEqual(
_extrair_inscricao(["Inscrição 123456789 Núcleo / Divisão"]),
"123456789",
)
def test_ignora_inscricao_anterior_do_lote(self):
self.assertEqual(
_extrair_inscricao(["Inscrição Anterior 1252518\n100006954Inscriçã"]),
"100006954",
)
def test_extrai_construcao_com_tipo_em_duas_linhas(self):
texto = """\
Área Construída
1 76,46 2012 2012 63-ALVENARIA (D) - EDIFICIOS DE 6 A 10
PAVIMENTOS 1-0% Não Sim
Documento de Origem
"""
self.assertEqual(
_extrair_construcoes([texto]),
["76,46 m² / 2012 / 63-ALVENARIA (D) - EDIFICIOS DE 6 A 10 PAVIMENTOS"],
)
def test_identifica_anos_venais_ausentes_no_intervalo(self):
self.assertEqual(anos_venais_ausentes(["2021", "2023", "2025"]), [2022, 2024])
self.assertEqual(anos_venais_ausentes(["2024", "2025", "2026"]), [])
def test_marca_anos_repetidos_ou_com_linhas_extras_para_revisao(self):
registros = [
("2023", 3, "300.000,00"),
("2024", 2, "320.000,00"),
("2023", 3, "300.000,00"),
]
self.assertEqual(anos_venais_para_revisao(registros), [2023, 2024])
def test_uma_linha_venal_por_ano_nao_exige_revisao(self):
registros = [("2021", 1, "293.882,68"), ("2022", 1, "325.240,88")]
self.assertEqual(anos_venais_para_revisao(registros), [])
if __name__ == "__main__":
unittest.main()