public void AtribuirPerguntaTest() { PerguntaNumero p = (PerguntaNumero) new PerguntaNumero().AtribuirPergunta(new DTO.PerguntaDTO { CasasDecimais = 2, Deleted = false, Descricao = "Desc", Obrigatorio = true, PatternRegex = @"\w*", PerguntaID = 1, PerguntaCondicionalID = null, PerguntaCondicional = null, Prefixo = "R$", Sufixo = "%", TamanhoMaximo = 8, TipoEntrada = (byte)eTipoEntrada.Numero_ComBotoes, TipoPergunta = eTipoPergunta.Numero, 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" } } }); Assert.AreEqual("Desc", p.Descricao); Assert.AreEqual("Titulo", p.Titulo); Assert.AreEqual(DateTime.Now.Date, p.ControleAtualizacao.Data.Date); Assert.AreEqual("ADMIN", p.ControleAtualizacao.UsuarioID); Assert.AreEqual("R$", p.Prefixo); Assert.AreEqual("%", p.Sufixo); Assert.AreEqual(2, p.CasasDecimais); Assert.AreEqual((byte)eTipoEntrada.Numero_ComBotoes, p.TipoEntradaID); }
public Pergunta CriarPergunta(PerguntaDTO perguntaDTO) { Pergunta pergunta = null; switch (perguntaDTO.TipoPergunta) { case eTipoPergunta.Texto: pergunta = new PerguntaTexto(); break; case eTipoPergunta.Anexo: pergunta = new PerguntaAnexo(); break; case eTipoPergunta.EscolhaUnica: pergunta = new PerguntaEscolhaUnica(); break; case eTipoPergunta.Numero: pergunta = new PerguntaNumero(); break; case eTipoPergunta.Data: pergunta = new PerguntaData(); break; case eTipoPergunta.Grade: pergunta = new PerguntaGradeDeOpcoes(); break; case eTipoPergunta.MultiplaEscolha: pergunta = new PerguntaMultiplaEscolha(); break; default: throw new NotImplementedException(); } pergunta.AtribuirPergunta(perguntaDTO); foreach (var item in perguntaDTO.LeiautePergunta) { pergunta.LeiautePerguntas.Add(CriarLeiautePergunta(item)); } return(pergunta); }
private static void TestarModeloDeDominio() { var multipla = new PerguntaMultiplaEscolha { Obrigatorio = false, PerguntaCondicional = null, //TipoPergunta = Enumeradores.eMultiplaEscolha.Checkbox, TipoEntradaID = (byte)eTipoEntrada.MultiplaEscolha_CaixaDeSelecao, PerguntaID = ++Identity, Titulo = "Linguagem", Descricao = null, Opcoes = new List <Opcao> { new Opcao { OpcaoID = 1, Descricao = "C#" }, new Opcao { OpcaoID = 2, Descricao = "JAVA" }, new Opcao { OpcaoID = 3, Descricao = "JavaScript" }, new Opcao { OpcaoID = 4, Descricao = "Python" }, } }; var texto = new PerguntaTexto { PerguntaID = ++Identity, Titulo = "Nome", TipoEntradaID = (byte)eTipoEntrada.Texto_CaixaDeTexto, Descricao = null, PatternRegex = null, PerguntaCondicional = null, TamanhoMaximo = 50, TipoValidadorID = null }; var unica = new PerguntaEscolhaUnica { PerguntaID = ++Identity, Descricao = null, Titulo = "Sexo", PerguntaCondicional = null, Opcoes = new List <Opcao> { new Opcao { Descricao = "M", }, new Opcao { Descricao = "F", } }, //TipoPergunta = Enumeradores.eEscolhaUnica.Radio, TipoEntradaID = (byte)eTipoEntrada.EscolhaUnica_Radio }; var unicaCondicional = new PerguntaEscolhaUnica { PerguntaID = ++Identity, Titulo = "Nível de Conhecimento C#", Descricao = null, //TipoPergunta = Enumeradores.eEscolhaUnica.Star, TipoEntradaID = (byte)eTipoEntrada.EscolhaUnica_Star, PerguntaCondicional = new PerguntaCondicionalMultipla { PerguntaID = 1, OpcoesAtivacao = multipla.Opcoes.Where(c => c.OpcaoID == 1) .Select(c => new OpcaoAtivacao { OpcaoID = c.OpcaoID, Opcao = c, //PerguntaCondicionalID = pCondicional.PerguntaCondicionalID, //PerguntaCondicional = this }) .ToList(), Operacao = Enumeradores.eOperacaoCondicional.MultiplaOpcoes_Contem, Pergunta = multipla, }, Opcoes = new List <Opcao> { new Opcao { Descricao = "Básico" }, new Opcao { Descricao = "Médio" }, new Opcao { Descricao = "Avançado" }, } }; var pIdade = new PerguntaNumero { PerguntaID = ++Identity, CasasDecimais = 0, Descricao = null, Titulo = "Idade", Obrigatorio = true, PerguntaCondicional = null, Prefixo = null, Sufixo = null, TipoEntradaID = (byte)eTipoEntrada.Numero_CaixaDeTexto, TipoValidadorID = eTipoValidador.Numero_MaiorIgualZero }; var pCondicionalIdade = new PerguntaTexto { PerguntaID = ++Identity, Descricao = null, Titulo = "Teste Condicional", Obrigatorio = true, PatternRegex = null, TamanhoMaximo = 50, TipoEntradaID = (byte)eTipoEntrada.Texto_CaixaDeTexto, TipoValidadorID = null, PerguntaCondicional = new PerguntaCondicionalNumero { Operacao = eOperacaoCondicional.Numero_Igual, Pergunta = pIdade, PerguntaID = 2, ValorAtivacao = 20 } }; var opcoesGrade = new HashSet <Opcao> { new Opcao { Descricao = "Básico", OpcaoID = 1 }, new Opcao { Descricao = "Intermediário", OpcaoID = 2 }, new Opcao { Descricao = "Avançado", OpcaoID = 3 } }; var grade = new PerguntaGradeDeOpcoes { PerguntaID = ++Identity, Descricao = null, Obrigatorio = false, Titulo = "Avaliacao", PerguntaCondicional = null, Opcoes = opcoesGrade, Linhas = new HashSet <LinhaPerguntaGrade> { new LinhaPerguntaGrade { //PerguntaID = ++Identity, //Descricao = null, Titulo = "C#", //Obrigatorio = false, //Opcoes=opcoesGrade }, new LinhaPerguntaGrade { //Descricao = null, Titulo = "Java", //Obrigatorio = false, //Opcoes=opcoesGrade } } }; ModeloDeFormulario modelo = new ModeloDeFormulario { Perguntas = new List <Pergunta> { texto, unica, multipla, unicaCondicional, pIdade, pCondicionalIdade } }; modelo.CriarLeiautePerguntasPadrao(); RespostaModeloDeFormulario resposta = new RespostaModeloDeFormulario { ModeloDeFormulario = modelo, RespostaModeloFormularioID = 1, Respostas = new HashSet <Resposta> { new RespostaTexto { Pergunta = texto, RespostaID = 1, Valor = "Hernandes" }, new RespostaNumero { Pergunta = pIdade, RespostaID = 6, Valor = 20, }, new RespostaUnica { RespostaID = 2, Pergunta = unica, OpcaoEscolhida = unica.Opcoes.First() }, new RespostaMultipla { RespostaID = 3, Pergunta = multipla, OpcoesEscolhida = multipla.Opcoes.Skip(1).Take(2).Select(c => new OpcaoRespondida { OpcaoID = c.OpcaoID }).ToList(), }, //new RespostaUnica //{ // RespostaID=3, // Pergunta = unicaCondicional, // OpcaoEscolhida = unicaCondicional.Opcoes.First(), // OpcaoEscolhidaID=unicaCondicional.Opcoes.First().OpcaoID, //}, new RespostaTexto { Pergunta = pCondicionalIdade, Valor = "A", } } }; resposta.Validar(); }
protected PerguntaDTO CriarPerguntaDTO(Perguntas.Pergunta p) { try { PerguntaCondicional pCondicional = p.PerguntaCondicional; eTipoPergunta tipoPergunta = CreateTipoPergunta(p); PerguntaCondicionalDTO perguntaCondicionalDTO = CriarPerguntaCondicionalDTO(p.PerguntaCondicional); PerguntaDTO pergunta = new PerguntaDTO { Descricao = p.Descricao, TipoPergunta = tipoPergunta, Titulo = p.Titulo, PerguntaID = p.PerguntaID, PerguntaCondicionalID = p.PerguntaCondicionalID, PerguntaCondicional = perguntaCondicionalDTO, Obrigatorio = p.Obrigatorio, Deleted = false, TamanhoMaximo = null, //PerguntasGrade = null, //GradeOpcoes = null, Opcoes = null, ValidadorID = null, PatternRegex = null, TipoEntrada = p.TipoEntradaID, LeiautesPergunta = p.LeiautePerguntas.Select(c => new LeiautePerguntaDTO { LeiautePerguntaID = c.LeiautePerguntaID, PerguntaID = c.PerguntaID, LeiautesPerguntaItem = c.LeiauteItem.Select(d => new LeiautePerguntaItemDTO { LeiautePerguntaID = d.LeiautePerguntaID, LeiautePerguntaItemID = d.LeiautePerguntaItemID, TamanhoTela = d.Responsivo, Coluna = d.Tamanho, }).ToList() }).ToList() }; switch (tipoPergunta) { case eTipoPergunta.Texto: PerguntaTexto pTexto = p as PerguntaTexto; pergunta.PatternRegex = pTexto.PatternRegex; pergunta.TamanhoMaximo = pTexto.TamanhoMaximo; pergunta.ValidadorID = (short?)pTexto.TipoValidadorID; pergunta.TipoEntrada = pTexto.TipoEntradaID; break; case eTipoPergunta.EscolhaUnica: case eTipoPergunta.MultiplaEscolha: pergunta.Opcoes = (p as Perguntas.PerguntaComOpcoes).Opcoes.Select(c => new OpcaoDTO { OpcaoID = c.OpcaoID, Descricao = c.Descricao }).ToList(); break; case eTipoPergunta.Grade: PerguntaGradeDeOpcoes pGrade = (p as Perguntas.PerguntaGradeDeOpcoes); pergunta.Opcoes = (p as Perguntas.PerguntaGradeDeOpcoes).Opcoes .Select(c => new OpcaoDTO { OpcaoID = c.OpcaoID, Descricao = c.Descricao }).ToList(); pergunta.LinhasGrade = (p as Perguntas.PerguntaGradeDeOpcoes).Linhas .Select(c => new LinhasGradeDTO { LinhaID = c.LinhaPerguntaGradeID, Descricao = c.Titulo }).ToList(); break; case eTipoPergunta.Anexo: PerguntaAnexo pAnexo = p as PerguntaAnexo; pergunta.TipoEntrada = pAnexo.TipoEntradaID; break; case eTipoPergunta.Numero: PerguntaNumero pNumero = p as PerguntaNumero; pergunta.TipoEntrada = pNumero.TipoEntradaID; pergunta.CasasDecimais = pNumero.CasasDecimais; pergunta.Prefixo = pNumero.Prefixo; pergunta.Sufixo = pNumero.Sufixo; break; case eTipoPergunta.Data: PerguntaData pData = p as PerguntaData; pergunta.TipoEntrada = pData.TipoEntradaID; break; default: throw new NotImplementedException(); } pergunta.TipoEntrada = p.TipoEntradaID; pergunta.ValidadorID = (short?)p.TipoValidadorID; return(pergunta); } catch (Exception) { throw; } }
public static void CreateData(IFormularioService svc, IDatabaseFactory factory, IUnitOfWOrkGeneric <IDatabaseFactory> unit) { var ctx = factory.Get(); //long Identity = 0; var repoPergunta = ctx.GetRepository <Pergunta>(); var repoPerguntaCondicional = ctx.GetRepository <PerguntaCondicional>(); var repoOpcao = ctx.GetRepository <Opcao>(); var repoModeloDeFormulario = ctx.GetRepository <ModeloDeFormulario>(); var repoRespostaModeloDeFormulario = ctx.GetRepository <RespostaModeloDeFormulario>(); var repoOpcaoAtivacao = ctx.GetRepository <OpcaoAtivacao>(); var repoLinhaPerguntaGrade = ctx.GetRepository <LinhaPerguntaGrade>(); var repoResposta = ctx.GetRepository <Resposta>(); var repoLeiautePergunta = ctx.GetRepository <LeiautePergunta>(); var repoLeiautePerguntaItem = ctx.GetRepository <LeiautePerguntaItem>(); var pMultipla = new PerguntaMultiplaEscolha { Obrigatorio = false, PerguntaCondicional = null, //TipoPergunta = Enumeradores.eMultiplaEscolha.Checkbox, TipoEntradaID = (byte)eTipoEntrada.MultiplaEscolha_CaixaDeSelecao, PerguntaID = 1, Titulo = "Linguagem", Descricao = "Ling", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), Opcoes = new List <Opcao> { new Opcao { OpcaoID = 1, Descricao = "C#", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { OpcaoID = 2, Descricao = "JAVA", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { OpcaoID = 3, Descricao = "JavaScript", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { OpcaoID = 4, Descricao = "Python", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, } }; pMultipla.Opcoes.ToList().ForEach(c => repoOpcao.Insert(c)); repoPergunta.Insert(pMultipla); var pTexto = new PerguntaTexto { PerguntaID = 2, Titulo = "Nome", TipoEntradaID = (byte)eTipoEntrada.Texto_CaixaDeTexto, Descricao = "Desc", PatternRegex = null, PerguntaCondicional = null, TamanhoMaximo = 50, TipoValidadorID = null, Obrigatorio = true, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }; repoPergunta.Insert(pTexto); var pUnica = new PerguntaEscolhaUnica { PerguntaID = 3, Descricao = "Desc Sexo", Titulo = "Sexo", PerguntaCondicional = null, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), Opcoes = new List <Opcao> { new Opcao { OpcaoID = 5, Descricao = "M", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { OpcaoID = 6, Descricao = "F", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), } }, //TipoPergunta = Enumeradores.eEscolhaUnica.Radio, TipoEntradaID = (byte)eTipoEntrada.EscolhaUnica_Radio }; pUnica.Opcoes.ToList().ForEach(c => repoOpcao.Insert(c)); repoPergunta.Insert(pUnica); var pUnicaCondicional = new PerguntaEscolhaUnica { PerguntaID = 4, Titulo = "Nível de Conhecimento C#", Descricao = "Nível", //TipoPergunta = Enumeradores.eEscolhaUnica.Star, TipoEntradaID = (byte)eTipoEntrada.EscolhaUnica_Star, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), PerguntaCondicional = new PerguntaCondicionalMultipla { PerguntaID = 1, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), OpcoesAtivacao = pMultipla.Opcoes.Where(c => c.OpcaoID == 1) .Select(c => new OpcaoAtivacao { OpcaoID = c.OpcaoID, Opcao = c, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), //PerguntaCondicionalID = pCondicional.PerguntaCondicionalID, //PerguntaCondicional = this }) .ToList(), Operacao = eOperacaoCondicional.MultiplaOpcoes_Contem, Pergunta = pMultipla, }, Opcoes = new List <Opcao> { new Opcao { OpcaoID = 11, Descricao = "Básico", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { OpcaoID = 12, Descricao = "Médio", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { OpcaoID = 13, Descricao = "Avançado", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, } }; (pUnicaCondicional.PerguntaCondicional as PerguntaCondicionalMultipla).OpcoesAtivacao.ToList().ForEach(c => repoOpcaoAtivacao.Insert(c)); repoPerguntaCondicional.Insert(pUnicaCondicional.PerguntaCondicional); pUnicaCondicional.Opcoes.ToList().ForEach(c => repoOpcao.Insert(c)); repoPergunta.Insert(pUnicaCondicional); var pIdade = new PerguntaNumero { PerguntaID = 5, CasasDecimais = 0, Descricao = "I", Titulo = "Idade", Obrigatorio = true, PerguntaCondicional = null, Prefixo = "P", Sufixo = "S", TipoEntradaID = (byte)eTipoEntrada.Numero_CaixaDeTexto, TipoValidadorID = eTipoValidador.Numero_MaiorIgualZero }; repoPergunta.Insert(pIdade); var pCondicionalIdade = new PerguntaTexto { PerguntaID = 6, Descricao = "Cond", Titulo = "Teste Condicional", Obrigatorio = true, PatternRegex = null, TamanhoMaximo = 50, TipoEntradaID = (byte)eTipoEntrada.Texto_CaixaDeTexto, TipoValidadorID = null, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), PerguntaCondicional = new PerguntaCondicionalNumero { PerguntaCondicionalID = 10, Operacao = eOperacaoCondicional.Numero_Igual, Pergunta = pIdade, PerguntaID = pIdade.PerguntaID, ValorAtivacao = 20, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, PerguntaCondicionalID = 10, }; repoPerguntaCondicional.Insert(pCondicionalIdade.PerguntaCondicional); repoPergunta.Insert(pCondicionalIdade); var opcoesGrade = new HashSet <Opcao> { new Opcao { Descricao = "Básico", OpcaoID = 21, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { Descricao = "Intermediário", OpcaoID = 22, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new Opcao { Descricao = "Avançado", OpcaoID = 23, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), } }; opcoesGrade.ToList().ForEach(c => repoOpcao.Insert(c)); var pGrade = new PerguntaGradeDeOpcoes { PerguntaID = 7, Descricao = "AV", Obrigatorio = false, Titulo = "Avaliacao", PerguntaCondicional = null, Opcoes = opcoesGrade, TipoEntradaID = (byte)eTipoEntrada.Grade_Estrela, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), TipoEntrada = new TipoEntrada { Descricao = "Estrela", TipoEntradaID = (byte)eTipoEntrada.Grade_Estrela, TipoPerguntaID = (byte)eTipoPergunta.Grade }, Linhas = new HashSet <LinhaPerguntaGrade> { new LinhaPerguntaGrade { LinhaPerguntaGradeID = 1, //PerguntaID = ++Identity, //Descricao = null, Titulo = "C#", //Obrigatorio = false, //Opcoes=opcoesGrade }, new LinhaPerguntaGrade { LinhaPerguntaGradeID = 2, //Descricao = null, Titulo = "Java", //Obrigatorio = false, //Opcoes=opcoesGrade } } }; pGrade.Linhas.ToList().ForEach(c => repoLinhaPerguntaGrade.Insert(c)); repoPergunta.Insert(pGrade); ModeloDeFormulario modelo = new ModeloDeFormulario { ModeloFormularioID = 1, Descricao = "Modelo", Html = "<b>Modelo</b>", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), Perguntas = new List <Pergunta> { pTexto, pUnica, pMultipla, pUnicaCondicional, pIdade, pCondicionalIdade, pGrade } }; repoModeloDeFormulario.Insert(modelo); modelo.AtribuirLeiautePerguntasPadrao(); modelo.Perguntas.SelectMany(c => c.LeiautePerguntas).ToList().ForEach(c => { repoLeiautePergunta.Insert(c); c.LeiauteItem.ToList().ForEach(d => { repoLeiautePerguntaItem.Insert(d); }); }); RespostaModeloDeFormulario respostaModelo = new RespostaModeloDeFormulario { ModeloDeFormulario = modelo, ModeloDeFormularioID = 1, RespostaModeloFormularioID = 1, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), Respostas = new HashSet <Resposta> { new RespostaTexto { Pergunta = pTexto, PerguntaID = pTexto.PerguntaID, RespostaID = 1, Valor = "Hernandes", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new RespostaNumero { Pergunta = pIdade, PerguntaID = pIdade.PerguntaID, RespostaID = 6, Valor = 20, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new RespostaUnica { RespostaID = 2, Pergunta = pUnica, PerguntaID = pUnica.PerguntaID, OpcaoEscolhida = pUnica.Opcoes.First(), ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new RespostaMultipla { RespostaID = 3, Pergunta = pMultipla, PerguntaID = pMultipla.PerguntaID, OpcoesEscolhida = pMultipla.Opcoes.Skip(1).Take(2).Select(c => new OpcaoRespondida { OpcaoID = c.OpcaoID }).ToList(), ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, //new RespostaUnica //{ // RespostaID=3, // Pergunta = pUnicaCondicional, // PerguntaID=pUnicaCondicional.PerguntaID, // //OpcaoEscolhida = pUnicaCondicional.Opcoes.First(), // // OpcaoEscolhidaID=pUnicaCondicional.Opcoes.First().OpcaoID, //}, new RespostaTexto { Pergunta = pCondicionalIdade, PerguntaID = pCondicionalIdade.PerguntaID, Valor = "A", ControleAtualizacao = ControleUsuario.Criar("ADMIN"), }, new RespostaGrade { RespostaID = 7, Pergunta = pGrade, PerguntaID = pGrade.PerguntaID, ControleAtualizacao = ControleUsuario.Criar("ADMIN"), Respostas = new List <RespostaLinhaPerguntaGrade> { new RespostaLinhaPerguntaGrade { RespostaGradeID = 1, LinhaPerguntaGradeID = 1, OpcaoRespondidaID = 21 }, new RespostaLinhaPerguntaGrade { RespostaGradeID = 1, LinhaPerguntaGradeID = 2, OpcaoRespondidaID = 22 } } } } }; respostaModelo.Validar(); respostaModelo.Respostas.ToList().ForEach(c => repoResposta.Insert(c)); repoRespostaModeloDeFormulario.Insert(respostaModelo); unit.Commit("ADMIN"); }
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)); }