Coverage for TestesUnitarios.py: 100%

145 statements  

« prev     ^ index     » next       coverage.py v7.1.0, created at 2023-02-02 11:17 -0300

1import unittest 

2import pandas as pd 

3import os 

4from pandas.testing import assert_frame_equal 

5from preencherLotacaoSalas import preencherLotacaoPredio 

6from calcularPercentuais import calcularPercentuais 

7from separarSalasCompostasEHorarios import * 

8from carregarDados import * 

9 

10class TesteColetaSigaa(unittest.TestCase): 

11 

12 def testeCalcularPercentuais(self): 

13 # teste da funcao que calcula os percentuais de ocupacao das salas e preenche a informacao no dataframe 

14 

15 dfExemploEntrada = pd.DataFrame() 

16 dfExemploEntrada = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

17 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', 'UAC', 130, '4T2 - Quarta 14h', 0, 0, 0] 

18 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', 'UAC', 130, '4T3 - Quarta 15h', 0, 0, 0] 

19 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', 'UAC', 60, '6T2 - Sexta 14h', 0, 0, 0] 

20 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', 'UAC', 60, '6T3 - Sexta 15h', 0, 0, 0] 

21 

22 dfExemploSaida = pd.DataFrame() 

23 dfExemploSaida = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

24 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', 'UAC', 130, '4T2 - Quarta 14h', 98.82352941176471, 64.61538461538461, 65.38461538461539] 

25 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', 'UAC', 130, '4T3 - Quarta 15h', 98.82352941176471, 64.61538461538461, 65.38461538461539] 

26 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', 'UAC', 60, '6T2 - Sexta 14h', 98.82352941176471, 140.0, 141.66666666666669] 

27 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', 'UAC', 60, '6T3 - Sexta 15h', 98.82352941176471, 140.0, 141.66666666666669] 

28 

29 dfTesteResultado = calcularPercentuais(dfExemploEntrada) 

30 

31 dfTesteResultado.to_csv('./testesUnitarios/csvTeste03Percentuais.csv', encoding="utf-8", sep=';', index = False) 

32 dfTesteResultado = pd.read_csv('./testesUnitarios/csvTeste03Percentuais.csv', encoding="utf-8", sep=';') 

33 

34 self.assertIsNone(assert_frame_equal(dfTesteResultado, dfExemploSaida)) 

35 # fim do metodo testeCalcularPercentuais 

36 

37 def testePreencherLotacaoPredio(self): 

38 # teste da funcao que preenche a lotacao das salas e o nome do predio ao qual ela pertence 

39 

40 dfExemploEntrada = pd.DataFrame() 

41 dfExemploEntrada = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

42 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', '-', 0, '4T2 - Quarta 14h', 0, 0, 0] 

43 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', '-', 0, '4T3 - Quarta 15h', 0, 0, 0] 

44 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', '-', 0, '6T2 - Sexta 14h', 0, 0, 0] 

45 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', '-', 0, '6T3 - Sexta 15h', 0, 0, 0] 

46 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '6T3', 85, 84, 'FGA - SALA S-43', 'S43', '-', 0, '6T3 - Sexta 15h', 0, 0, 0] 

47 

48 dfExemploSaida = pd.DataFrame() 

49 dfExemploSaida = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

50 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', 'UAC', 130, '4T2 - Quarta 14h', 0, 0, 0] 

51 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', 'UAC', 130, '4T3 - Quarta 15h', 0, 0, 0] 

52 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', 'UAC', 60, '6T2 - Sexta 14h', 0, 0, 0] 

53 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', 'UAC', 60, '6T3 - Sexta 15h', 0, 0, 0] 

54 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '6T3', 85, 84, 'FGA - SALA S-43', 'S43', 'sala nao encontrada - S43', 1, '6T3 - Sexta 15h', 0, 0, 0] 

55 

56 dfTesteResultado = preencherLotacaoPredio(dfExemploEntrada) 

57 

58 dfTesteResultado.to_csv('./testesUnitarios/csvTeste02LotacaoPredio.csv', encoding="utf-8", sep=';', index = False) 

59 dfTesteResultado = pd.read_csv('./testesUnitarios/csvTeste02LotacaoPredio.csv', encoding="utf-8", sep=';') 

60 

61 self.assertIsNone(assert_frame_equal(dfTesteResultado, dfExemploSaida)) 

62 # fim do metodo testePreencherLotacaoPredio 

63 

64 def testeSepararSalas(self): 

65 # teste da funcao que troca o nome da sala coletado pelo nome tabelado (padronizado) e 

66 # separa as salas quando houver mais de uma sala na mesma turma (salas compostas) 

67 

68 listaExemploEntrada = ['FGA - SALA TESTE', 'FGA - SALA LAB SS', 'FGA - SALA S-4 e I-3','FGA - SALAS S7 e I7','FGA - SALA I6 E I7', 'FGA - SALA S1 E S4'] 

69 

70 listaExemploSaida = [['sala nao padronizada na matriz de comparacao - TESTE'], 

71 ['Lab.SS'], ['S04','I03'], ['S07','I07'], ['I06','I07'], ['S01','S04']] 

72 

73 listaTesteResultado0 = separarSalas(listaExemploEntrada[0]) 

74 listaTesteResultado1 = separarSalas(listaExemploEntrada[1]) 

75 listaTesteResultado2 = separarSalas(listaExemploEntrada[2]) 

76 listaTesteResultado3 = separarSalas(listaExemploEntrada[3]) 

77 listaTesteResultado4 = separarSalas(listaExemploEntrada[4]) 

78 listaTesteResultado5 = separarSalas(listaExemploEntrada[5]) 

79 listaTesteResultado = [listaTesteResultado0, listaTesteResultado1, listaTesteResultado2, 

80 listaTesteResultado3, listaTesteResultado4, listaTesteResultado5] 

81 

82 self.assertEqual(listaTesteResultado, listaExemploSaida) 

83 # fim do metodo testeSepararSalas 

84 

85 

86 def testeSepararHorarios(self): 

87 # teste da funcao que separa os horarios por credito 

88 

89 listaExemploEntrada = ['46T23','24M12','35M34','7M1234', '2N12', '28M51', '4T1', '2T45', '6N34','5T8'] 

90 

91 listaExemploSaida = [['4T2 - Quarta 14h','4T3 - Quarta 15h','6T2 - Sexta 14h','6T3 - Sexta 15h'], 

92 ['2M1 - Segunda 08h','2M2 - Segunda 09h','4M1 - Quarta 08h','4M2 - Quarta 09h'] , 

93 ['3M3 - Terça 10h','3M4 - Terça 11h','5M3 - Quinta 10h','5M4 - Quinta 11h'] , 

94 ['7M1 - Sábado 08h','7M2 - Sábado 09h','7M3 - Sábado 10h','7M4 - Sábado 11h'], 

95 ['2N1 - Segunda 19h','2N2 - Segunda 20h'], 

96 ['2M5 - Segunda 12h', '2M1 - Segunda 08h', '8M5 - dia 12h', '8M1 - dia 08h'], 

97 ['4T1 - Quarta 13h'], 

98 ['2T4 - Segunda 16h','2T5 - Segunda 17h'], 

99 ['6N3 - Sexta 21h','6N4 - Sexta 22h'], 

100 ['5T8 - Quinta hora']] 

101 

102 listaTesteResultado0 = separarHorarios(listaExemploEntrada[0]) 

103 listaTesteResultado1 = separarHorarios(listaExemploEntrada[1]) 

104 listaTesteResultado2 = separarHorarios(listaExemploEntrada[2]) 

105 listaTesteResultado3 = separarHorarios(listaExemploEntrada[3]) 

106 listaTesteResultado4 = separarHorarios(listaExemploEntrada[4]) 

107 listaTesteResultado5 = separarHorarios(listaExemploEntrada[5]) 

108 listaTesteResultado6 = separarHorarios(listaExemploEntrada[6]) 

109 listaTesteResultado7 = separarHorarios(listaExemploEntrada[7]) 

110 listaTesteResultado8 = separarHorarios(listaExemploEntrada[8]) 

111 listaTesteResultado9 = separarHorarios(listaExemploEntrada[9]) 

112 listaTesteResultado = [listaTesteResultado0, listaTesteResultado1, listaTesteResultado2, 

113 listaTesteResultado3, listaTesteResultado4, listaTesteResultado5, 

114 listaTesteResultado6, listaTesteResultado7, listaTesteResultado8, listaTesteResultado9] 

115 

116 self.assertEqual(listaTesteResultado, listaExemploSaida) 

117 # fim do metodo testeSepararHorarios 

118 

119 def testeAdicionarLinhasPorHorarioComSalasSeparadas(self): 

120 # teste da funcao que chama os metodos que separam os horarios por credito e as salas compostas em salas simples 

121 

122 dfExemploEntrada = pd.DataFrame() 

123 dfExemploEntrada = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

124 dfExemploEntrada.loc[len(dfExemploEntrada)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', '-', '-', 0, '-', 0, 0, 0] 

125 

126 dfExemploSaida = pd.DataFrame() 

127 dfExemploSaida = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

128 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', '-', 0, '4T2 - Quarta 14h', 0, 0, 0] 

129 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'S04', '-', 0, '4T3 - Quarta 15h', 0, 0, 0] 

130 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', '-', 0, '6T2 - Sexta 14h', 0, 0, 0] 

131 dfExemploSaida.loc[len(dfExemploSaida)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', 'I03', '-', 0, '6T3 - Sexta 15h', 0, 0, 0] 

132 

133 dfTesteResultado = adicionarLinhasPorHorarioComSalasSeparadas(dfExemploEntrada) 

134 

135 dfTesteResultado.to_csv('./testesUnitarios/csvTeste01HorariosSalas.csv', encoding="utf-8", sep=';', index = False) 

136 dfTesteResultado = pd.read_csv('./testesUnitarios/csvTeste01HorariosSalas.csv', encoding="utf-8", sep=';') 

137 

138 self.assertIsNone(assert_frame_equal(dfTesteResultado, dfExemploSaida)) 

139 # fim do metodo testeAdicionarLinhasPorHorarioComSalasSeparadas 

140 

141 def testeSalvarTurmasColetadasNoCsvFiltrandoFGA(self): 

142 # teste da funcao que salva as turmas coletadas no arquivo csv verificando se sao disciplinas da FGA ou nao 

143 

144 listaExemploEntrada = [] 

145 listaExemploEntrada.append(['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', '-', '-', 0, '-', 0, 0, 0]) 

146 listaExemploEntrada.append(['CDT1101 - TECNOLOGIA SOCIAL E INOVAÇÃO', 1, 2022, 2,'TANIA CRISTINA DA SILVA CRUZ','30h','6T1234 (25/10/2022 - 18/02/2023)', 40, 16,'CDT - Sala Interação', '-', '-', 0, '-', 0, 0, 0]) 

147 

148 listaExemploSaidaColetados = pd.DataFrame() 

149 listaExemploSaidaColetados = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

150 listaExemploSaidaColetados.loc[len(listaExemploSaidaColetados)] = ['FGA0003 - COMPILADORES 1', 1, 2022, 2, 'EDSON ALVES DA COSTA JUNIOR', '60h', '46T23', 85, 84, 'FGA - SALA S-4 e I-3', '-', '-', 0, '-', 0, 0, 0] 

151 

152 listaExemploSaidaDesprezados = pd.DataFrame() 

153 listaExemploSaidaDesprezados = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

154 listaExemploSaidaDesprezados.loc[len(listaExemploSaidaDesprezados)] = ['CDT1101 - TECNOLOGIA SOCIAL E INOVAÇÃO', 1,2022, 2,'TANIA CRISTINA DA SILVA CRUZ', '30h','6T1234 (25/10/2022 - 18/02/2023)',40,16,'CDT - Sala Interação', '-', '-', 0, '-', 0, 0, 0] 

155 

156 salvarTurmasColetadasNoCsvFiltrandoFGA(listaExemploEntrada) 

157 

158 listaTesteResultadoColetados = pd.read_csv('./testesUnitarios/csvTurmasColetadasFGA.csv', encoding="utf-8", sep=';') 

159 listaTesteResultadoDesprezados = pd.read_csv('./testesUnitarios/csvTurmasColetadasQueNaoSaoFGA.csv', encoding="utf-8", sep=';') 

160 

161 self.assertIsNone(assert_frame_equal(listaTesteResultadoColetados, listaExemploSaidaColetados)) 

162 self.assertIsNone(assert_frame_equal(listaTesteResultadoDesprezados, listaExemploSaidaDesprezados)) 

163 self.assertEqual(all('FGA' in listaTesteResultadoColetados['local'].iloc[i] for i in range(len(listaTesteResultadoColetados))), True) 

164 self.assertEqual(all('FGA' not in listaTesteResultadoDesprezados['local'].iloc[i] for i in range(len(listaTesteResultadoDesprezados))), True) 

165 # fim do metodo testeSalvarTurmasColetadasNoCsvFiltrandoFGA 

166 

167 def testeColetarTurmas(self): 

168 # teste da funcao que captura os dados da pagina Sigaa e armazena em uma lista 

169 

170 servico = Service(ChromeDriverManager().install()) 

171 opcoes = webdriver.ChromeOptions() 

172 opcoes.add_experimental_option('excludeSwitches', ['enable-logging']) 

173 navegador = webdriver.Chrome(service=servico, options=opcoes) 

174 url = 'https://sigaa.unb.br/sigaa/public/turmas/listar.jsf?aba=p-ensino' 

175 navegador.get(url) 

176 

177 

178 navegador.find_element(By.NAME, 'formTurma:inputNivel').send_keys('GRADUAÇÃO') 

179 navegador.find_element(By.NAME, 'formTurma:inputDepto').send_keys('CENTRO DE APOIO AO DESENVOLVIMENTO TECNOLÓGICO - BRASÍLIA') 

180 navegador.find_element(By.NAME, 'formTurma:inputAno').clear() 

181 navegador.find_element(By.NAME, 'formTurma:inputAno').send_keys('2022') 

182 navegador.find_element(By.NAME, 'formTurma:inputPeriodo').send_keys('2') 

183 navegador.find_element(By.NAME, 'formTurma:j_id_jsp_1370969402_11').click() 

184 

185 listaExemploSaida = [] 

186 listaExemploSaida.append (['CDT1101 - TECNOLOGIA SOCIAL E INOVAÇÃO',' 01','2022','2','TANIA CRISTINA DA SILVA CRUZ','30h','6T1234 (25/10/2022 - 18/02/2023)','40','16','CDT - Sala Interação']) 

187 listaExemploSaida.append (['CDT1101 - TECNOLOGIA SOCIAL E INOVAÇÃO',' 01','2022','2','JONATHAS FELIPE AIRES FERREIRA','30h','6T1234 (25/10/2022 - 18/02/2023)','40','16','CDT - Sala Interação']) 

188 

189 listaTesteResultado = [] 

190 time.sleep(2) 

191 listaTesteResultado = coletarTurmas(navegador, listaTesteResultado) 

192 navegador.quit() 

193 

194 self.assertEqual(listaTesteResultado, listaExemploSaida) 

195 # fim do metodo testeColetarTurmas 

196 

197 def testeGerarConsultas(self): 

198 # teste da funcao que preeenche os campos da pagina Sigaa para fazer a consulta e chama a funcao para coletar os dados 

199 

200 listaExemploSaida = [] 

201 listaExemploSaida.append (['CDT1101 - TECNOLOGIA SOCIAL E INOVAÇÃO',' 01','2022','2','TANIA CRISTINA DA SILVA CRUZ','30h','6T1234 (25/10/2022 - 18/02/2023)','40','16','CDT - Sala Interação']) 

202 listaExemploSaida.append (['CDT1101 - TECNOLOGIA SOCIAL E INOVAÇÃO',' 01','2022','2','JONATHAS FELIPE AIRES FERREIRA','30h','6T1234 (25/10/2022 - 18/02/2023)','40','16','CDT - Sala Interação']) 

203 

204 listaTesteResultado = [] 

205 listaTesteResultado = gerarConsulta('GRADUAÇÃO', 'CENTRO DE APOIO AO DESENVOLVIMENTO TECNOLÓGICO - BRASÍLIA', '2022', '2', listaTesteResultado) 

206 

207 self.assertEqual(listaTesteResultado, listaExemploSaida) 

208 # fim do metodo testeGerarConsultas 

209 

210 def testeGerarCsv(self): 

211 # teste da funcao que gera os arquivos csv vazios apenas com os nomes das colunas 

212 

213 dfExemploSaida = pd.DataFrame() 

214 dfExemploSaida = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal']) 

215 #Dataframe vazio de exemplo de saida 

216 dataframeCsv = pd.DataFrame(columns= 

217 ['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 

218 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local','salaSeparada', 

219 'predio','lotacao', 'horarioSeparado', 'percDisciplina', 

220 'percOcupacaoReal','percOcupacaoTotal']) 

221 

222 gerarCsv() 

223 self.assertEqual(os.path.exists('./testesUnitarios/csvTurmasColetadasFGA.csv'), True) 

224 self.assertEqual(os.path.exists('./testesUnitarios/csvTurmasColetadasQueNaoSaoFGA.csv'), True) 

225 

226 dfTesteResultadoColetados = pd.read_csv('./testesUnitarios/csvTurmasColetadasFGA.csv', encoding="utf-8", sep=';') 

227 dfTesteResultadoDesprezados = pd.read_csv('./testesUnitarios/csvTurmasColetadasQueNaoSaoFGA.csv', encoding="utf-8", sep=';') 

228 

229 self.assertEqual(dataframeCsv.empty, dfTesteResultadoColetados.empty) 

230 self.assertEqual(dataframeCsv.empty, dfTesteResultadoDesprezados.empty) 

231 

232 self.assertIsNone(assert_frame_equal(dfTesteResultadoColetados, dfExemploSaida)) 

233 self.assertIsNone(assert_frame_equal(dfTesteResultadoDesprezados, dfExemploSaida)) 

234 # fim do metodo testeGerarCsv 

235 

236# fim da classe TesteColetaSigaa 

237 

238if __name__ == '__main__': 

239 

240 unittest.main() 

241 # fim do metodo main