public void AtribuirRespostaTest() { var resposta = new RespostaNumero { }; resposta.AtribuirResposta(new DTO.RespostaDTO { PerguntaID = 1, Valor = 20, }); Assert.AreEqual(1, resposta.PerguntaID); Assert.AreEqual(20, resposta.Valor); }
public Resposta CriarResposta(RespostaDTO respostaDTO, eTipoPergunta tipoPergunta) { Resposta resposta = null; switch (tipoPergunta) { case eTipoPergunta.Texto: resposta = new RespostaTexto(); break; case eTipoPergunta.Anexo: resposta = new RespostaAnexo(); break; case eTipoPergunta.EscolhaUnica: resposta = new RespostaUnica(); break; case eTipoPergunta.Numero: resposta = new RespostaNumero(); break; case eTipoPergunta.Data: resposta = new RespostaData(); break; case eTipoPergunta.Grade: resposta = new RespostaGrade(); break; case eTipoPergunta.MultiplaEscolha: resposta = new RespostaMultipla(); break; default: throw new NotImplementedException(); } resposta.AtribuirResposta(respostaDTO); return(resposta); }
protected RespostaDTO CriarRespostaDTO(Resposta r) { try { RespostaDTO resposta = new RespostaDTO { OpcaoID = null, Opcoes = null, PerguntaID = r.PerguntaID, RespostaGrade = null, RespostaID = r.RespostaID, UsuarioID = r.ControleAtualizacao.UsuarioID, Valor = null }; switch (CreateTipoPergunta(r.Pergunta)) { case eTipoPergunta.Texto: RespostaTexto rTexto = r as RespostaTexto; resposta.Valor = rTexto.Valor; break; case eTipoPergunta.EscolhaUnica: RespostaUnica rUnica = r as RespostaUnica; resposta.OpcaoID = rUnica.OpcaoEscolhidaID; break; case eTipoPergunta.MultiplaEscolha: RespostaMultipla rOpcoes = r as RespostaMultipla; resposta.Opcoes = rOpcoes.OpcoesEscolhida.Select(c => c.OpcaoID).ToList(); break; case eTipoPergunta.Grade: RespostaGrade rGrade = r as RespostaGrade; resposta.RespostaGrade = rGrade.Respostas.Select(c => new RespostaGradeDTO { LinhaPerguntaGradeID = c.LinhaPerguntaGradeID, OpcaoRespondidaID = c.OpcaoRespondidaID }).ToList(); break; case eTipoPergunta.Anexo: RespostaAnexo rAnexo = r as RespostaAnexo; //Lazy to performance resposta.Valor = new { rAnexo.Valor.AnexoID, rAnexo.Valor.Nome, rAnexo.Valor.Extensao }; break; case eTipoPergunta.Numero: RespostaNumero rNumero = r as RespostaNumero; resposta.Valor = rNumero.Valor; break; case eTipoPergunta.Data: RespostaData rData = r as RespostaData; resposta.Valor = rData.Valor; break; default: throw new NotImplementedException(); } return(resposta); } catch (Exception) { throw; } }
public void ValidarTest() { var resposta = new RespostaNumero { }; resposta.AtribuirResposta(new DTO.RespostaDTO { PerguntaID = 1, Valor = 1, }); resposta.Pergunta = new PerguntaNumero { Obrigatorio = false }; resposta.Pergunta.Obrigatorio = true; Assert.AreEqual(true, resposta.Validar()); resposta.Valor = null; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; Assert.AreEqual(false, resposta.Validar()); resposta.Valor = 0; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorIgualZero; Assert.AreEqual(true, resposta.Validar()); resposta.Valor = -1; (resposta.Pergunta as PerguntaNumero).Obrigatorio = false; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorIgualZero; Assert.AreEqual(false, resposta.Validar()); resposta.Valor = 1; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorZero; Assert.AreEqual(true, resposta.Validar()); resposta.Valor = 0; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorZero; Assert.AreEqual(false, resposta.Validar()); resposta.Valor = -1; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorZero; Assert.AreEqual(true, resposta.Validar()); resposta.Valor = 0; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorZero; Assert.AreEqual(false, resposta.Validar()); resposta.Valor = 0; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorIgualZero; Assert.AreEqual(true, resposta.Validar()); resposta.Valor = 1; (resposta.Pergunta as PerguntaNumero).Obrigatorio = true; (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorIgualZero; Assert.AreEqual(false, resposta.Validar()); }
public void ValidarCondicionalTest() { PerguntaNumero p = (PerguntaNumero) new PerguntaNumero().AtribuirPergunta(new DTO.PerguntaDTO { CasasDecimais = 0, Deleted = false, Descricao = "Desc", Obrigatorio = true, PatternRegex = @"\w*", PerguntaID = 1, PerguntaCondicionalID = null, PerguntaCondicional = null, Prefixo = "R$", Sufixo = "%", TamanhoMaximo = 8, TipoEntrada = (byte)eTipoEntrada.Texto_CaixaDeTexto, TipoPergunta = eTipoPergunta.Texto, TamanhoMaximoBytes = 100, Titulo = "Titulo", UsuarioID = "ADMIN", ValidadorID = (byte)eTipoValidador.Texto_Regex, Opcoes = new List <OpcaoDTO> { new OpcaoDTO { OpcaoID = 1, Descricao = "M" }, new OpcaoDTO { OpcaoID = 2, Descricao = "F" } }, LinhasGrade = new List <DTO.LinhasGradeDTO> { new DTO.LinhasGradeDTO { LinhaID = 1, Descricao = "Nível" }, new DTO.LinhasGradeDTO { LinhaID = 2, Descricao = "SubNível" } } }); PerguntaCondicionalNumero pCondicionalNumero = (PerguntaCondicionalNumero) new PerguntaCondicionalNumero().AtribuirCondicional(new PerguntaCondicionalDTO { OpcoesAtivacao = new List <long> { 1, 2 }, PerguntaCondicionalID = 1, PerguntaID = p.PerguntaID, OperacaoCondicional = (byte)eOperacaoCondicional.Numero_Maior, PerguntasGrade = new List <long> { 1, 2, 3 }.ToDictionary(d => d, e => "Opcao_" + e.ToString()), TipoPergunta = eTipoPergunta.Numero, ValorAtivacao = 1.23 }, p); Assert.AreEqual(1, pCondicionalNumero.PerguntaCondicionalID); Assert.AreEqual(eOperacaoCondicional.Numero_Maior, pCondicionalNumero.Operacao); Assert.AreEqual(1.23M, pCondicionalNumero.ValorAtivacao); RespostaNumero resposta = (RespostaNumero) new RespostaNumero().AtribuirResposta(new DTO.RespostaDTO { Valor = 1.24, Extensao = "pdf", NomeArquivo = "Documento", UsuarioID = "admin" }); Assert.AreEqual(true, pCondicionalNumero.VerificarAtivacaoCondicional(resposta)); pCondicionalNumero.ValorAtivacao = 1000; Assert.AreEqual(false, pCondicionalNumero.VerificarAtivacaoCondicional(resposta)); }