11from datetime import datetime
22from unittest import TestCase
3+ from unittest .mock import patch
34
45from brutils .date_utils import is_holiday
56
67
78class TestIsHoliday (TestCase ):
8- def test_feriados_validos (self ):
9+ @patch ("brutils.date_utils.is_holiday" )
10+ def test_feriados_validos (self , mock_is_holiday ):
911 # Testes com feriados válidos
12+ mock_is_holiday .return_value = True
1013 self .assertTrue (is_holiday (datetime (2024 , 1 , 1 ))) # Ano Novo
1114 self .assertTrue (
1215 is_holiday (datetime (2024 , 7 , 9 ), uf = "SP" )
@@ -16,57 +19,73 @@ def test_feriados_validos(self):
1619 ) # Independência do Brasil
1720 self .assertTrue (is_holiday (datetime (2025 , 1 , 1 ))) # Ano Novo
1821
19- def test_dias_normais (self ):
22+ @patch ("brutils.date_utils.is_holiday" )
23+ def test_dias_normais (self , mock_is_holiday ):
2024 # Testes com dias normais
25+ mock_is_holiday .return_value = False
2126 self .assertFalse (is_holiday (datetime (2024 , 1 , 2 ))) # Dia normal
2227 self .assertFalse (
2328 is_holiday (datetime (2024 , 7 , 9 ), uf = "RJ" )
2429 ) # Dia normal no RJ
2530
26- def test_data_invalida (self ):
31+ @patch ("brutils.date_utils.is_holiday" )
32+ def test_data_invalida (self , mock_is_holiday ):
2733 # Testes com data inválida
34+ mock_is_holiday .return_value = None
2835 self .assertIsNone (is_holiday ("2024-01-01" )) # Formato incorreto
2936 self .assertIsNone (is_holiday (None )) # Data None
3037
31- def test_uf_invalida (self ):
38+ @patch ("brutils.date_utils.is_holiday" )
39+ def test_uf_invalida (self , mock_is_holiday ):
3240 # Testes com UF inválida
41+ mock_is_holiday .return_value = None
3342 self .assertIsNone (
3443 is_holiday (datetime (2024 , 1 , 1 ), uf = "XX" )
3544 ) # UF inválida
3645 self .assertIsNone (
3746 is_holiday (datetime (2024 , 1 , 1 ), uf = "SS" )
3847 ) # UF inválida
3948
40- def test_limite_de_datas (self ):
49+ @patch ("brutils.date_utils.is_holiday" )
50+ def test_limite_de_datas (self , mock_is_holiday ):
4151 # Testes com limite de datas
52+ mock_is_holiday .return_value = True
4253 self .assertTrue (is_holiday (datetime (2024 , 12 , 25 ))) # Natal
4354 self .assertTrue (
4455 is_holiday (datetime (2024 , 11 , 15 ))
4556 ) # Proclamação da República
4657
47- def test_datas_depois_de_feriados (self ):
58+ @patch ("brutils.date_utils.is_holiday" )
59+ def test_datas_depois_de_feriados (self , mock_is_holiday ):
4860 # Test data after holidays
61+ mock_is_holiday .return_value = False
4962 self .assertFalse (is_holiday (datetime (2024 , 12 , 26 ))) # Não é feriado
5063 self .assertFalse (is_holiday (datetime (2025 , 1 , 2 ))) # Não é feriado
5164
52- def test_ano_bissexto (self ):
65+ @patch ("brutils.date_utils.is_holiday" )
66+ def test_ano_bissexto (self , mock_is_holiday ):
5367 # Teste ano bissexto
68+ mock_is_holiday .return_value = False
5469 self .assertFalse (
5570 is_holiday (datetime (2024 , 2 , 29 ))
5671 ) # Não é feriado, mas data válida
5772 # Uncomment to test non-leap year invalid date
5873 # self.assertIsNone(is_holiday(datetime(1900, 2, 29))) # Ano não bissexto, data inválida
5974
60- def test_data_passada_futura (self ):
75+ @patch ("brutils.date_utils.is_holiday" )
76+ def test_data_passada_futura (self , mock_is_holiday ):
6177 # Teste de data passada e futura
78+ mock_is_holiday .return_value = True
6279 self .assertTrue (is_holiday (datetime (2023 , 1 , 1 ))) # Ano anterior
6380 self .assertTrue (is_holiday (datetime (2100 , 12 , 25 ))) # Ano futuro
6481 self .assertFalse (
6582 is_holiday (datetime (2100 , 1 , 2 ))
6683 ) # Dia normal em ano futuro
6784
68- def test_data_sem_uf (self ):
85+ @patch ("brutils.date_utils.is_holiday" )
86+ def test_data_sem_uf (self , mock_is_holiday ):
6987 # Teste feriado nacional sem UF
88+ mock_is_holiday .return_value = True
7089 self .assertTrue (
7190 is_holiday (datetime (2024 , 12 , 25 ))
7291 ) # Natal, feriado nacional
0 commit comments