Spaces:
Sleeping
Sleeping
| 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() | |