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); }
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); }
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(); }
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); }
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); }
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); }
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(); }