Пример #1
0
        public void Deve_ocorrer_exception_caso_haja_outro_gabarito_cadastrado()
        {
            Dados.Gabaritos.Add(new Gabarito
            {
                IdProva   = "ALF-1",
                Respostas = new List <Respostas>
                {
                    new Respostas {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    }
                }
            });
            var gabaritoDto = new CadastrarGabaritoDto
            {
                IdProva   = "ALF-1",
                Respostas = new List <RespostaDto>
                {
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    }
                }
            };
            var request = new CadastrarGabaritoRequest();

            Func <Gabarito> func = () => request.Executar(gabaritoDto);

            Assert.Throws <Exception>(func);
            Assert.Equal(
                "Gabarito já cadastrado para a prova ALF-1",
                Assert.Throws <Exception>(func).Message
                );
            Assert.Equal(1, Dados.Gabaritos.Count);
        }
Пример #2
0
        public void Deve_ocorrer_exception_caso_alternativa_informada_nao_exista()
        {
            Dados.Provas.Add(new Prova
            {
                Id       = "ALF-1",
                Questoes = new List <Questao>
                {
                    new Questao {
                        Numero = 1, Peso = 1,
                    },
                    new Questao {
                        Numero = 2, Peso = 1,
                    },
                }
            });
            var gabaritoDto = new CadastrarGabaritoDto
            {
                IdProva   = "ALF-1",
                Respostas = new List <RespostaDto>
                {
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    },
                    new RespostaDto {
                        NumeroQuestao = 2, Alternativa = (Alternativa)6,
                    },
                }
            };
            var request = new CadastrarGabaritoRequest();

            Func <Gabarito> func = () => request.Executar(gabaritoDto);

            Assert.Throws <Exception>(func);
            Assert.Equal(
                "Alternativa inválida",
                Assert.Throws <Exception>(func).Message
                );
            Assert.Equal(0, Dados.Gabaritos.Count);
        }
Пример #3
0
        public void Deve_ocorrer_exception_caso_nao_haja_prova_informada()
        {
            var gabaritoDto = new CadastrarGabaritoDto
            {
                IdProva   = "ALF-1",
                Respostas = new List <RespostaDto>
                {
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    }
                }
            };
            var request = new CadastrarGabaritoRequest();

            Func <Gabarito> func = () => request.Executar(gabaritoDto);

            Assert.Throws <Exception>(func);
            Assert.Equal(
                "Prova ALF-1 não encontrada",
                Assert.Throws <Exception>(func).Message
                );
            Assert.Equal(0, Dados.Gabaritos.Count);
        }
Пример #4
0
        public void Deve_ocorrer_exception_caso_haja_respostas_duplicadas()
        {
            Dados.Provas.Add(new Prova
            {
                Id       = "ALF-1",
                Questoes = new List <Questao>
                {
                    new Questao {
                        Numero = 1, Peso = 1,
                    }
                }
            });
            var gabaritoDto = new CadastrarGabaritoDto
            {
                IdProva   = "ALF-1",
                Respostas = new List <RespostaDto>
                {
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    },
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.B,
                    }
                }
            };
            var request = new CadastrarGabaritoRequest();

            Func <Gabarito> func = () => request.Executar(gabaritoDto);

            Assert.Throws <Exception>(func);
            Assert.Equal(
                "Numero da questão não pode ser duplicado",
                Assert.Throws <Exception>(func).Message
                );
            Assert.Equal(0, Dados.Gabaritos.Count);
        }
Пример #5
0
        public void Deve_cadastrar_gabarito_com_sucesso()
        {
            Dados.Provas.Add(new Prova
            {
                Id       = "ALF-1",
                Questoes = new List <Questao>
                {
                    new Questao {
                        Numero = 1, Peso = 1,
                    },
                    new Questao {
                        Numero = 2, Peso = 2,
                    },
                }
            });
            var gabaritoDto = new CadastrarGabaritoDto
            {
                IdProva   = "ALF-1",
                Respostas = new List <RespostaDto>
                {
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    },
                    new RespostaDto {
                        NumeroQuestao = 2, Alternativa = Alternativa.B,
                    },
                }
            };
            var request = new CadastrarGabaritoRequest();

            var gabarito = request.Executar(gabaritoDto);

            Assert.Equal("ALF-1", gabarito.IdProva);
            Assert.Equal(2, gabarito.Respostas.Count);
            Assert.Equal(1, Dados.Gabaritos.Count);
        }
Пример #6
0
        private void CadastarGabaritos()
        {
            var gabarito1 = new CadastrarGabaritoDto
            {
                IdProva   = "ALF-1",
                Respostas = new List <RespostaDto>
                {
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    },
                    new RespostaDto {
                        NumeroQuestao = 2, Alternativa = Alternativa.A,
                    }
                }
            };
            var gabarito2 = new CadastrarGabaritoDto
            {
                IdProva   = "ALF-2",
                Respostas = new List <RespostaDto>
                {
                    new RespostaDto {
                        NumeroQuestao = 1, Alternativa = Alternativa.A,
                    },
                    new RespostaDto {
                        NumeroQuestao = 2, Alternativa = Alternativa.A,
                    },
                    new RespostaDto {
                        NumeroQuestao = 3, Alternativa = Alternativa.A,
                    }
                }
            };
            var cadastrarProva = new CadastrarGabaritoRequest();

            cadastrarProva.Executar(gabarito1);
            cadastrarProva.Executar(gabarito2);
        }