def _atualiza_aluno(argumentos): aluno_id = "--aluno-id" situacao = "--situacao" nome = "--nome" materia = "--materia" nota = "--nota" aluno = Aluno() try: if aluno_id in argumentos: id_ = _pega_valor(argumentos, aluno_id) Controller(aluno, bd).atualiza(id_) if nome in argumentos: nome_ = _pega_valor(argumentos, nome) aluno.define_nome(nome_) Controller(aluno, bd).atualiza(id_) if situacao in argumentos: situacao_ = _pega_valor(argumentos, situacao) aluno.define_situacao(situacao_) Controller(aluno, bd).atualiza(id_) if materia in argumentos and nota in argumentos: materia_ = _pega_valor(argumentos, materia) nota_ = _pega_valor(argumentos, nota) materias = {materia_: nota_} aluno.atualiza_materias_cursadas(materias) Controller(aluno, bd).atualiza(id_) print(f"Aluno com identificador {id_} atualizado com sucesso.") except Exception: raise
def test_coordenador_geral_lista_detalhe_2_cursos_2_alunos_com_notas(self): nome_1 = "joao" nome_2 = "maria" materias_1 = {"penal": 3} materias_2 = {"plantas": 3, "solos": 3} cr = 3 expected = { "alunos": [{ "nome": nome_1, "coeficiente rendimento": cr, "materias": materias_1, "curso": self.curso_1.pega_nome() }, { "nome": nome_2, "coeficiente rendimento": cr, "materias": materias_2, "curso": self.curso_2.pega_nome() }] } aluno_1 = Aluno(nome_1) aluno_2 = Aluno(nome_2) aluno_1.inscreve_curso(self.curso_1) aluno_2.inscreve_curso(self.curso_2) aluno_1.atualiza_materias_cursadas(materias_1) aluno_2.atualiza_materias_cursadas(materias_2) coordenador = CoordenadorGeral() actual = coordenador.listar_detalhe_alunos() assert actual == expected
def test_aluno_deve_ser_capaz_de_listar_materias_faltantes( self, cria_curso_com_materias): aluno = Aluno(aluno_nome_1).inscreve_curso(cria_curso_com_materias) materias = {materia_nome_2: 7, materia_nome_3: 9} expected = [materia_nome_1] aluno.atualiza_materias_cursadas(materias) actual = aluno.lista_materias_faltantes() assert actual == expected
def test_aluno_pode_pegar_lista_materias_cursadas(self, cria_curso_com_materias): curso = cria_curso_com_materias materias = {materia_nome_2: 7, materia_nome_3: 9} expected = materias aluno = Aluno(aluno_nome_1).inscreve_curso(curso) aluno.atualiza_materias_cursadas(materias) actual = aluno.lista_materias_cursadas() assert actual == expected
def test_define_situacao_retorna_aluno_com_situacao_atualizada( self, cria_curso_com_materias): materias = {materia_nome_1: 8, materia_nome_2: 8, materia_nome_3: 8} expected = "aprovado" aluno = Aluno(aluno_nome_1) aluno.inscreve_curso(cria_curso_com_materias) aluno.atualiza_materias_cursadas(materias) aluno.define_situacao(Situacao.aprovado.value) actual = aluno.pega_situacao() assert actual == expected
def test_coordenador_geral_lista_detalhes_alunos_quando_um_aluno(self): nome = "maria" materias = {"civil": 6} cr = 6 expected = { "alunos": [{ "nome": nome, "materias": materias, "coeficiente rendimento": cr, "curso": self.curso_1.pega_nome() }] } aluno = Aluno("maria") aluno.inscreve_curso(self.curso_1) aluno.atualiza_materias_cursadas(materias) coordenador = CoordenadorGeral() actual = coordenador.listar_detalhe_alunos() assert actual == expected
def test_coordenador_geral_lista_detalhes_novo_curso(self): nome = "mario" curso = "patologia" aluno = Aluno(nome) materias = {"virus": 6} expected = { "alunos": [{ "nome": nome, "coeficiente rendimento": 6, "materias": materias, "curso": curso }] } coordenador = CoordenadorGeral() curso_novo = Curso(curso) curso_novo.atualiza_materias(Materia("bacterias")) curso_novo.atualiza_materias(Materia("virus")) curso_novo.atualiza_materias(Materia("vermes")) aluno.inscreve_curso(curso_novo) aluno.atualiza_materias_cursadas(materias) actual = coordenador.listar_detalhe_alunos() assert actual == expected
def test_faculdade_com_dois_alunos_aprovados_e_um_reprovado_no_curso(self): ''' Faculdade de exatas. Tem 3 alunos e 5 cursos. Dois alunos fazem matérias iguais e um não faz nenhuma matéria com os demais. ''' CatalogoCurso.limpa_catalogo() pedro = Aluno("Pedro") jose = Aluno("Jose") tiago = Aluno("Tiago") coordenador_geral = CoordenadorGeral() fisica = Curso("Fisica") fisica.atualiza_materias(Materia("Ótica")) fisica.atualiza_materias(Materia("Mecânica")) fisica.atualiza_materias(Materia("Elátrica")) coordenador_fisica = CoordenadorGeral(fisica) matematica = Curso("Matematica") matematica.atualiza_materias(Materia("Geometria")) matematica.atualiza_materias(Materia("Cálculo")) matematica.atualiza_materias(Materia("Algebra")) coordenador_matematica = CoordenadorGeral(matematica) informatica = Curso("Informatica") informatica.atualiza_materias(Materia("Programação")) informatica.atualiza_materias(Materia("Dados")) informatica.atualiza_materias(Materia("Hardware")) coordenador_informatica = CoordenadorGeral(informatica) engenharia_civil = Curso("Engenharia Civil") engenharia_civil.atualiza_materias(Materia("Estrutura")) engenharia_civil.atualiza_materias(Materia("Concreto armado")) engenharia_civil.atualiza_materias(Materia("Hidráulica")) coordenador_engenharia_civil = CoordenadorGeral(engenharia_civil) eletronica = Curso("Eletrônica") eletronica.atualiza_materias(Materia("Robótica")) eletronica.atualiza_materias(Materia("Chips")) eletronica.atualiza_materias(Materia("Circuitos")) coordenador_eletronica = CoordenadorGeral(eletronica) pedro.inscreve_curso(eletronica) jose.inscreve_curso(eletronica) tiago.inscreve_curso(engenharia_civil) print("\nPrimeiro semestre") pedro.atualiza_materias_cursadas({"Robótica": 10}) jose.atualiza_materias_cursadas({"Robótica": 6}) tiago.atualiza_materias_cursadas({"Concreto armado": 8}) print("\nRelatório geral") print(coordenador_geral.listar_detalhe_alunos()) print("\nRelatório dos cursos") print(coordenador_eletronica.listar_detalhe_alunos()) print(coordenador_engenharia_civil.listar_detalhe_alunos()) print(coordenador_fisica.listar_detalhe_alunos()) print(coordenador_informatica.listar_detalhe_alunos()) print(coordenador_matematica.listar_detalhe_alunos()) print("\nSegundo semestre") pedro.atualiza_materias_cursadas({"Chips": 9}) jose.atualiza_materias_cursadas({"Robótica": 9}) tiago.atualiza_materias_cursadas({"Estrutura": 0}) print("\nRelatório geral") print(coordenador_geral.listar_detalhe_alunos()) print("\nRelatório dos cursos") print(coordenador_eletronica.listar_detalhe_alunos()) print(coordenador_engenharia_civil.listar_detalhe_alunos()) print(coordenador_fisica.listar_detalhe_alunos()) print(coordenador_informatica.listar_detalhe_alunos()) print(coordenador_matematica.listar_detalhe_alunos()) print("\nTerceiro semestre") pedro.atualiza_materias_cursadas({"Circuitos": 7}) jose.atualiza_materias_cursadas({"Chips": 9}) tiago.atualiza_materias_cursadas({"Estrutura": 10}) print("\nRelatório geral") print(coordenador_geral.listar_detalhe_alunos()) print("\nRelatório dos cursos") print(coordenador_eletronica.listar_detalhe_alunos()) print(coordenador_engenharia_civil.listar_detalhe_alunos()) print(coordenador_fisica.listar_detalhe_alunos()) print(coordenador_informatica.listar_detalhe_alunos()) print(coordenador_matematica.listar_detalhe_alunos()) pedro.calcula_situacao() jose.calcula_situacao() tiago.calcula_situacao() print(pedro.pega_situacao()) print(jose.pega_situacao()) print(tiago.pega_situacao()) print("\nQuarto semestre") jose.atualiza_materias_cursadas({"Circuitos": 9.7}) tiago.atualiza_materias_cursadas({"Hidráulica": 3}) print("\nRelatório geral") print(coordenador_geral.listar_detalhe_alunos()) print("\nRelatório dos cursos") print(coordenador_eletronica.listar_detalhe_alunos()) print(coordenador_engenharia_civil.listar_detalhe_alunos()) print(coordenador_fisica.listar_detalhe_alunos()) print(coordenador_informatica.listar_detalhe_alunos()) print(coordenador_matematica.listar_detalhe_alunos()) pedro.calcula_situacao() jose.calcula_situacao() tiago.calcula_situacao() print(pedro.pega_situacao()) print(jose.pega_situacao()) print(tiago.pega_situacao())
def _cria_aluno_no_curso(self, nome_aluno, curso, materias): aluno = Aluno(nome_aluno) aluno.inscreve_curso(curso) aluno.atualiza_materias_cursadas(materias)