Coverage for preencherLotacaoSalas.py: 100%
25 statements
« prev ^ index » next coverage.py v7.1.0, created at 2023-02-02 11:17 -0300
« prev ^ index » next coverage.py v7.1.0, created at 2023-02-02 11:17 -0300
1import pandas as pd # biblioteca utilizada para dataframe
2from separarSalasCompostasEHorarios import *
4def preencherLotacaoPredio(dataframe):
5# funcao que preenche a lotacao das salas e o nome do predio ao qual ela pertence
7 listaPredioLotacaoDeCadaSala = []
8 listaPredioLotacaoDeCadaSala = (
9 ['I01', 'Sala I1 - AT 49/41 UAC', 'UAC', 45],
10 ['I02', 'Sala I2 - AT 42/48 UAC', 'UAC', 60],
11 ['I03', 'Sala I3 39/48', 'UAC', 60],
12 ['I04', 'Sala I4 32/41', 'UAC', 45],
13 ['I05', 'Sala I5 29/41', 'UAC', 45],
14 ['I06', 'I6 Lab (laptop)', 'UAC', 40],
15 ['I07', 'I7 19/48 lab', 'UAC', 40],
16 ['I08', 'I8 12/41', 'UAC', 45],
17 ['I09', 'I9 09/41', 'UAC', 130],
18 ['I10', 'I10 lab', 'UAC', 80],
19 ['S01', 'S1 62/41', 'UAC', 130],
20 ['S02', 'S2 59/41', 'UAC', 130],
21 ['S03', 'S3 42/41', 'UAC', 130],
22 ['S04', 'S4 ', 'UAC', 130],
23 ['S05', 'S5 29/41', 'UAC', 45],
24 ['S06', 'S6 22/48', 'UAC', 60],
25 ['S07', 'S7 19/48', 'UAC', 60],
26 ['S08', 'S8 12/41', 'UAC', 45],
27 ['S09', 'S9 09/41', 'UAC', 130],
28 ['S10', 'S10 09/23 lab', 'UAC', 80],
29 ['Anfiteatro', 'Anfiteatro (UAC)', 'UAC', 240],
30 ['Ante I-10', 'Ante-sala I10', 'UAC', 20],
31 ['Multi.', 'Sala multiuso', 'UAC', 25],
32 ['Lab.Quim.', 'Lab quimica UED', 'UED', 20],
33 ['Lab.NEI-1', 'Lab NEI 1 UED', 'UED', 20],
34 ['Lab.NEI-2', 'Lab NEI 2 UED', 'UED', 20],
35 ['Lab.SS', 'Lab SS', 'UED', 45],
36 ['Lab.Fis-1', 'Lab Fisica 1', 'UED', 25],
37 ['Lab.Ond', 'Lab Fisica 2', 'UED', 25],
38 ['Lab.Eletr.', 'Lab Eletr.', 'UED', 20],
39 ['Lab.Mater.', 'Lab Materiais', 'UED', 15],
40 ['Mocap', 'Lab Mocap', 'UED', 60],
41 ['Lab.Termoflui.', 'Lab termofluidos', 'UED', 25],
42 ['Lab.Termodin.', 'La termodinamica', 'UED', 25],
43 ['Lab.LDS', 'Lab LDS Ued', 'UED', 15],
44 ['Cont-4', 'Container nº 4', 'Container', 45],
45 ['Cont-8-SHP', 'Container nº 8', 'Container', 16],
46 ['Cont-17', 'Container nº 17', 'Container', 30],
47 ['LD.Sala-2', 'Sala 2 LDTEA', 'LDTEA', 20],
48 ['LD.Sala-3', 'Sala 3 LDTEA', 'LDTEA', 30])
50 dfTempLinhasNovas = pd.DataFrame()
51 dfTempLinhasNovas = pd.DataFrame(columns=['codigNomeMateria', 'codigoTurma', 'ano', 'semestre', 'professor', 'cargahoraria', 'horario', 'vagasOfertadas', 'vagasOcupadas', 'local', 'salaSeparada', 'predio', 'lotacao', 'horarioSeparado', 'percDisciplina', 'percOcupacaoReal','percOcupacaoTotal'])
53 indiceDataframe=0
54 indiceLista=0
56 for indiceDataframe, linhaDataframe in dataframe.iterrows():
57 linhaDfCopia = linhaDataframe.copy()
58 encontrou_info_sala = False
59 for indiceLista in range(len(listaPredioLotacaoDeCadaSala)):
60 if (dataframe['salaSeparada'][indiceDataframe] == listaPredioLotacaoDeCadaSala[indiceLista][0]):
61 linhaDfCopia["lotacao"] = int(listaPredioLotacaoDeCadaSala[indiceLista][3])
62 linhaDfCopia["predio"] = listaPredioLotacaoDeCadaSala[indiceLista][2]
63 dfTempLinhasNovas.loc[len(dfTempLinhasNovas)] = linhaDfCopia
64 encontrou_info_sala = True
65 break
67 if encontrou_info_sala == False:
68 linhaDfCopia["lotacao"] = 1
69 linhaDfCopia["predio"] = 'sala nao encontrada - ' + dataframe['salaSeparada'][indiceDataframe]
70 dfTempLinhasNovas.loc[len(dfTempLinhasNovas)] = linhaDfCopia
72 return dfTempLinhasNovas
73# fim do metodo preencherLotacaoPredio
74'''
75if __name__ == '__main__':
76# main - para testes isolados de cada metodo
78 dfTurmasColetadasFGA = pd.read_csv('./testesUnitarios/csvTurmasColetadasFGA.csv', encoding="utf-8", sep=';')
80 dfTurmasColetadasFGA = adicionarLinhasPorHorarioComSalasSeparadas(dfTurmasColetadasFGA)
81 dfTurmasColetadasFGA = preencherLotacaoPredio(dfTurmasColetadasFGA)
83 dfTurmasColetadasFGA.to_csv('./testesUnitarios/csvTesteLotacaoPredio.csv', encoding="utf-8", sep=';', index = False)
84# fim main
85'''