public void Deve_ocorrer_exception_caso_aluno_nao_for_encontrado() { Dados.Provas.Add(new Prova { Id = "ALF-1", ValorPeso = 30d, Questoes = new List <Questao>() }); Dados.Gabaritos.Add(new Gabarito { IdProva = "ALF-1", Respostas = new List <Respostas>() }); var cadastrarRespostasDto = new CadastrarRespostasAlunoDto { IdAluno = "1", IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto>() }; var request = new CadastrarRespostasAlunoRequest(); Func <NotaAlunoProva> func = () => request.Executar(cadastrarRespostasDto); Assert.Throws <Exception>(func); Assert.Equal( "Aluno não encontrado", Assert.Throws <Exception>(func).Message ); Assert.Equal(0, Dados.Notas.Count); }
public void Deve_cadastrar_resposta_do_aluno_com_sucesso() { Dados.Provas.Add(new Prova { Id = "ALF-1", ValorPeso = 2.5d, Questoes = new List <Questao> { new Questao { Numero = 1, Peso = 1 }, new Questao { Numero = 2, Peso = 3 }, } }); Dados.Gabaritos.Add(new Gabarito { IdProva = "ALF-1", Respostas = new List <Respostas> { new Respostas { NumeroQuestao = 1, Alternativa = Alternativa.A }, new Respostas { NumeroQuestao = 2, Alternativa = Alternativa.A }, } }); Dados.Alunos.Add(new Aluno { Id = "e1f2cc2e-ead1-4478-9017-ef29d546287c", Nome = "FULANO" }); var cadastrarRespostasDto = new CadastrarRespostasAlunoDto { IdAluno = "e1f2cc2e-ead1-4478-9017-ef29d546287c", IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.E }, new RespostasAlunoDto { NumeroQuestao = 2, Alternativa = Alternativa.A }, } }; var request = new CadastrarRespostasAlunoRequest(); var notaAlunoProva = request.Executar(cadastrarRespostasDto); Assert.Equal("e1f2cc2e-ead1-4478-9017-ef29d546287c", notaAlunoProva.IdAluno); Assert.Equal("ALF-1", notaAlunoProva.IdProva); Assert.Equal(7.5d, notaAlunoProva.NotaProva); Assert.Equal(1, Dados.Notas.Count); }
public void Deve_ocorrer_exception_caso_nao_seja_informado_todas_as_respostas() { Dados.Provas.Add(new Prova { Id = "ALF-1", ValorPeso = 30d, Questoes = new List <Questao> { new Questao { Numero = 1, Peso = 1 }, new Questao { Numero = 2, Peso = 1 } } }); Dados.Gabaritos.Add(new Gabarito { IdProva = "ALF-1", Respostas = new List <Respostas> { new Respostas { NumeroQuestao = 1, Alternativa = Alternativa.A }, new Respostas { NumeroQuestao = 2, Alternativa = Alternativa.B } } }); Dados.Alunos.Add(new Aluno { Id = "e1f2cc2e-ead1-4478-9017-ef29d546287c", Nome = "FULANO" }); var cadastrarRespostasDto = new CadastrarRespostasAlunoDto { IdAluno = "e1f2cc2e-ead1-4478-9017-ef29d546287c", IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.A }, } }; var request = new CadastrarRespostasAlunoRequest(); Func <NotaAlunoProva> func = () => request.Executar(cadastrarRespostasDto); Assert.Throws <Exception>(func); Assert.Equal( "Quantidade de respostas não correspondente", Assert.Throws <Exception>(func).Message ); Assert.Equal(0, Dados.Notas.Count); }
public void Deve_ocorrer_exception_caso_prova_nao_for_encontrada() { var cadastrarRespostasDto = new CadastrarRespostasAlunoDto { IdAluno = "1", IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto>() }; var request = new CadastrarRespostasAlunoRequest(); Func <NotaAlunoProva> func = () => request.Executar(cadastrarRespostasDto); Assert.Throws <Exception>(func); Assert.Equal( "Prova não encontrada", Assert.Throws <Exception>(func).Message ); Assert.Equal(0, Dados.Notas.Count); }
public void Deve_ocorrer_exception_caso_haja_respostas_duplicadas() { Dados.Provas.Add(new Prova { Id = "ALF-1", ValorPeso = 30d, Questoes = new List <Questao>() }); Dados.Gabaritos.Add(new Gabarito { IdProva = "ALF-1", Respostas = new List <Respostas>() }); Dados.Alunos.Add(new Aluno { Id = "e1f2cc2e-ead1-4478-9017-ef29d546287c", Nome = "FULANO" }); var cadastrarRespostasDto = new CadastrarRespostasAlunoDto { IdAluno = "e1f2cc2e-ead1-4478-9017-ef29d546287c", IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.A }, new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.A } } }; var request = new CadastrarRespostasAlunoRequest(); Func <NotaAlunoProva> func = () => request.Executar(cadastrarRespostasDto); Assert.Throws <Exception>(func); Assert.Equal( "Numero da resposta não pode ser duplicado", Assert.Throws <Exception>(func).Message ); Assert.Equal(0, Dados.Notas.Count); }
public void Deve_ocorrer_exception_caso_resposta_do_aluno_ja_foi_cadastrada() { Dados.Provas.Add(new Prova { Id = "ALF-1", ValorPeso = 30d, Questoes = new List <Questao>() }); Dados.Gabaritos.Add(new Gabarito { IdProva = "ALF-1", Respostas = new List <Respostas>() }); Dados.Alunos.Add(new Aluno { Id = "e1f2cc2e-ead1-4478-9017-ef29d546287c", Nome = "FULANO" }); Dados.Notas.Add(new NotaAlunoProva { IdProva = "ALF-1", IdAluno = "e1f2cc2e-ead1-4478-9017-ef29d546287c", NotaProva = 10d }); var cadastrarRespostasDto = new CadastrarRespostasAlunoDto { IdAluno = "e1f2cc2e-ead1-4478-9017-ef29d546287c", IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto>() }; var request = new CadastrarRespostasAlunoRequest(); Func <NotaAlunoProva> func = () => request.Executar(cadastrarRespostasDto); Assert.Throws <Exception>(func); Assert.Equal( "Resposta do aluno FULANO para a prova ALF-1 já cadastrada", Assert.Throws <Exception>(func).Message ); Assert.Equal(1, Dados.Notas.Count); }
private void CadastrarRespostas(string id1, string id2, string id3) { var resposta1 = new CadastrarRespostasAlunoDto { IdAluno = id1, IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.A, }, new RespostasAlunoDto { NumeroQuestao = 2, Alternativa = Alternativa.A, }, } }; var resposta2 = new CadastrarRespostasAlunoDto { IdAluno = id1, IdProva = "ALF-2", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.A, }, new RespostasAlunoDto { NumeroQuestao = 2, Alternativa = Alternativa.A, }, new RespostasAlunoDto { NumeroQuestao = 3, Alternativa = Alternativa.A, } } }; var resposta3 = new CadastrarRespostasAlunoDto { IdAluno = id2, IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.E, }, new RespostasAlunoDto { NumeroQuestao = 2, Alternativa = Alternativa.A, }, } }; var resposta4 = new CadastrarRespostasAlunoDto { IdAluno = id2, IdProva = "ALF-2", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.A, }, new RespostasAlunoDto { NumeroQuestao = 2, Alternativa = Alternativa.E, }, new RespostasAlunoDto { NumeroQuestao = 3, Alternativa = Alternativa.A, }, } }; var resposta5 = new CadastrarRespostasAlunoDto { IdAluno = id3, IdProva = "ALF-1", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.A, }, new RespostasAlunoDto { NumeroQuestao = 2, Alternativa = Alternativa.E, }, } }; var resposta6 = new CadastrarRespostasAlunoDto { IdAluno = id3, IdProva = "ALF-2", Respostas = new List <RespostasAlunoDto> { new RespostasAlunoDto { NumeroQuestao = 1, Alternativa = Alternativa.E, }, new RespostasAlunoDto { NumeroQuestao = 2, Alternativa = Alternativa.E, }, new RespostasAlunoDto { NumeroQuestao = 3, Alternativa = Alternativa.A, } } }; var cadastrarRespostas = new CadastrarRespostasAlunoRequest(); cadastrarRespostas.Executar(resposta1); cadastrarRespostas.Executar(resposta2); cadastrarRespostas.Executar(resposta3); cadastrarRespostas.Executar(resposta4); cadastrarRespostas.Executar(resposta5); cadastrarRespostas.Executar(resposta6); }