Пример #1
0
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
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
 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
Пример #5
0
 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
Пример #6
0
 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
Пример #7
0
 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())
Пример #9
0
 def _cria_aluno_no_curso(self, nome_aluno, curso, materias):
     aluno = Aluno(nome_aluno)
     aluno.inscreve_curso(curso)
     aluno.atualiza_materias_cursadas(materias)