Exemple #1
0
        public void Nao_deve_pontuar_quando_familia_nao_atender_ao_criterio()
        {
            const int pontuacaoEsperada        = 0;
            var       dependenteMenorDeIdadeUm = PessoaBuilder.UmaPessoa()
                                                 .ComTipo(TipoDePessoa.Dependente)
                                                 .ComDataDeNascimento(new DateTime(2006, 12, 1))
                                                 .Build();
            var dependenteMenorDeIdadeDois = PessoaBuilder.UmaPessoa()
                                             .ComTipo(TipoDePessoa.Dependente)
                                             .ComDataDeNascimento(new DateTime(2005, 12, 1))
                                             .Build();
            var dependenteMenorDeIdadeTres = PessoaBuilder.UmaPessoa()
                                             .ComTipo(TipoDePessoa.Dependente)
                                             .ComDataDeNascimento(new DateTime(2000, 12, 1))
                                             .Build();
            var pretendente = PessoaBuilder.UmaPessoa().ComTipo(TipoDePessoa.Pretendete).Build();
            var pessoas     = new[]
            { dependenteMenorDeIdadeUm, dependenteMenorDeIdadeDois, dependenteMenorDeIdadeTres, pretendente };
            var familia = FluentBuilder <Familia> .New()
                          .WithCollection(f => f.Pessoas, pessoas)
                          .Build();

            var pontuacaoObtida = _criterio.EhAtendidoPela(familia);

            Assert.Equal(pontuacaoEsperada, pontuacaoObtida);
        }
        public void Dado_uma_Proposta_com_matricula_igual_do_conjuge_deve_Adicionar_dados_do_conjuge()
        {
            _proposta = PropostaBuilder.UmaProposta()
                        .Padrao()
                        .Com(DadosPagamentoBuilder.UmPagamento())
                        .Com(ProponenteBuider.UmProponente().Padrao()
                             .Com(PessoaBuilder.UmaPessoa().ComMatricula(IdentificadoresPadrao.Matricula)))
                        .Com(ProdutoBuilder.UmProduto()
                             .ComMatricula(IdentificadoresPadrao.Matricula)
                             .ComInscricao(IdentificadoresPadrao.InscricaoId)
                             .Com(BeneficiarioBuilder.UmBeneficiario())
                             .Com(CoberturaBuilder.UmaCobertura()
                                  .ComItemCertificadoApolice(IdentificadoresPadrao.ItemCertificadoApoliceId)
                                  .ComItemProdutoId(IdentificadoresPadrao.ItemProdutoId)
                                  .ComInicioVigencia(IdentificadoresPadrao.DataInicioVigencia)
                                  .Com(ContratacaoBuilder.UmaContratacao()
                                       .ComTipoFormaContratacao(TipoFormaContratacaoEnum.RendaMensal)
                                       .ComTipoRenda(TipoDeRendaEnum.NaoSeAplica))
                                  )
                             ).Build();

            var eventoImplantacao = _proposta.ToEvento();

            var coberturaContratada = eventoImplantacao.Coberturas.First();

            Assert.AreEqual(_proposta.Proponente.Conjuge.Matricula, coberturaContratada.Matricula);
        }
Exemple #3
0
        public void Deve_adicionar_renda_a_uma_pessoa()
        {
            var rendaEsperada = RendaBuilder.UmaRenda().Build();
            var pessoa        = PessoaBuilder.UmaPessoa().Build();

            pessoa.Adicionar(rendaEsperada);

            rendaEsperada.ToExpectedObject().ShouldMatch(pessoa.Renda);
        }
Exemple #4
0
        public CriterioDeRendaEntre901Ah1500Teste()
        {
            _criterio   = new CriterioDeRendaEntre901Ah1500();
            _pessoaUm   = PessoaBuilder.UmaPessoa().Build();
            _pessoaDois = PessoaBuilder.UmaPessoa().Build();
            var pessoas = new[] { _pessoaUm, _pessoaDois };

            _familia = FluentBuilder <Familia> .New()
                       .WithCollection(f => f.Pessoas, pessoas).Build();
        }
Exemple #5
0
        public void Deve_adicionar_pessoa_na_familia()
        {
            const int quantidadeDePessoasEsperadas = 1;
            var       familia = FamiliaBuilder.UmaFamilia().Build();
            var       pessoa  = PessoaBuilder.UmaPessoa().Build();

            familia.Adicionar(pessoa);

            var quantidadeDePessoasObtidas = familia.Pessoas.Count();

            Assert.Equal(quantidadeDePessoasEsperadas, quantidadeDePessoasObtidas);
        }
Exemple #6
0
        public void Deve_pontuar_familia_quando_criterio_for_atendido(
            int anoDeNascimento, int mesDeNascimento, int diaDeNascimento)
        {
            const int pontuacaoEsperada        = 3;
            var       dataDeNascimentoDe45Anos = new DateTime(anoDeNascimento, mesDeNascimento, diaDeNascimento);
            var       pessoaUm = PessoaBuilder.UmaPessoa().ComDataDeNascimento(dataDeNascimentoDe45Anos).Build();
            var       pessoas  = new[] { pessoaUm, _pessoaDois };
            var       familia  = FluentBuilder <Familia> .New().WithCollection(f => f.Pessoas, pessoas).Build();

            var pontuacaoObtida = _criterioDePretendetenComIdadeMaiorIgualA45Anos.EhAtendidoPela(familia);

            Assert.Equal(pontuacaoEsperada, pontuacaoObtida);
        }
Exemple #7
0
        public void Deve_pontuar_familia_quando_criterio_for_atendido(int anoDeNascimento, int mesDeNascimento, int diaDeNascimento)
        {
            const int pontuacaoEsperada = 1;
            var       dataDeNascimento  = new DateTime(anoDeNascimento, mesDeNascimento, diaDeNascimento);
            var       pretendente       = PessoaBuilder.UmaPessoa().ComTipo(TipoDePessoa.Pretendete)
                                          .ComDataDeNascimento(dataDeNascimento).Build();
            var pessoas = new[] { pretendente };
            var familia = FluentBuilder <Familia> .New().WithCollection(f => f.Pessoas, pessoas).Build();

            var pontuacaoObtida = _criterio.EhAtendidoPela(familia);

            Assert.Equal(pontuacaoEsperada, pontuacaoObtida);
        }
Exemple #8
0
        public void Deve_pontuar_familia_quando_tiver_um_filho_menor_de_idade()
        {
            const int pontuacaoEsperada        = 2;
            var       dependenteMenorDeIdadeUm = PessoaBuilder.UmaPessoa()
                                                 .ComTipo(TipoDePessoa.Dependente)
                                                 .ComDataDeNascimento(new DateTime(2006, 12, 1))
                                                 .Build();
            var pretendente = PessoaBuilder.UmaPessoa().ComTipo(TipoDePessoa.Pretendete).Build();
            var pessoas     = new[]
            { dependenteMenorDeIdadeUm, pretendente };
            var familia = FluentBuilder <Familia> .New()
                          .WithCollection(f => f.Pessoas, pessoas)
                          .Build();

            var pontuacaoObtida = _criterio.EhAtendidoPela(familia);

            Assert.Equal(pontuacaoEsperada, pontuacaoObtida);
        }
 private void ObterProposta()
 {
     _proposta = PropostaBuilder.UmaProposta()
                 .Padrao()
                 .Com(DadosPagamentoBuilder.UmPagamento())
                 .Com(ProponenteBuider.UmProponente().ComMatricula(20)
                      .Com(PessoaBuilder.UmaPessoa().ComMatricula(IdentificadoresPadrao.Matricula)))
                 .Com(ProdutoBuilder.UmProduto()
                      .ComMatricula(IdentificadoresPadrao.Matricula)
                      .ComInscricao(IdentificadoresPadrao.InscricaoId)
                      .Com(BeneficiarioBuilder.UmBeneficiario())
                      .Com(CoberturaBuilder.UmaCobertura()
                           .ComItemCertificadoApolice(IdentificadoresPadrao.ItemCertificadoApoliceId)
                           .ComItemProdutoId(IdentificadoresPadrao.ItemProdutoId)
                           .Com(ContratacaoBuilder.UmaContratacao()
                                .ComTipoFormaContratacao(TipoFormaContratacaoEnum.RendaMensal)
                                .ComTipoRenda(TipoDeRendaEnum.NaoSeAplica))
                           )
                      ).Build();
 }