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_Lancar_Exception_Se_ChefeDeServico_E_Oficial_Ficarem_A_Sos() { var localBuilder = new LocalBuilder(); var local = localBuilder.SetDescricao("Local Teste").Create(); var pessoaBuilder = new PessoaBuilder(); local.AdicionarPessoa(pessoaBuilder.SetNome("Jorge").SetTipoPessoa(TipoPessoa.ChefeDeServico).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Mateus").SetTipoPessoa(TipoPessoa.Oficial).Create()); var ex = Assert.Throws <Exception>(() => _validacaoTransporte.RestricoesLocal(local)); Assert.Equal("Chefe de Servico e Oficial não podem ficar a sós.", ex.Message); }
public void Deve_Lancar_Exception_Se_Piloto_E_Comissaria_Ficarem_A_Sos() { var localBuilder = new LocalBuilder(); var local = localBuilder.SetDescricao("Local Teste").Create(); var pessoaBuilder = new PessoaBuilder(); local.AdicionarPessoa(pessoaBuilder.SetNome("Jorge").SetTipoPessoa(TipoPessoa.Piloto).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Mateus").SetTipoPessoa(TipoPessoa.Comissaria).Create()); var ex = Assert.Throws <Exception>(() => _validacaoTransporte.RestricoesLocal(local)); Assert.Equal("Piloto e Comissária não podem ficar a sós.", ex.Message); }
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 async Task IncluirListaDePessoasERetornaVerdadeiroSeRegistrosInseridos() { var options = new DbContextOptionsBuilder <DatabaseContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var repository = new PessoaRepository(new(options)); var pessoasBuilder = new PessoaBuilder() .BuildListState(); var pessoasIncluidas = await repository.IncluirListaAsync(pessoasBuilder); Assert.True(pessoasIncluidas); }
public void Deve_Lancar_Exception_Se_Presidiario_Ficar_Sem_Policial() { var localBuilder = new LocalBuilder(); var local = localBuilder.SetDescricao("Local Teste").Create(); var pessoaBuilder = new PessoaBuilder(); local.AdicionarPessoa(pessoaBuilder.SetNome("Jorge").SetTipoPessoa(TipoPessoa.Presidiario).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Mateus").SetTipoPessoa(TipoPessoa.Oficial).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Bruno").SetTipoPessoa(TipoPessoa.Oficial).Create()); local.AdicionarPessoa(pessoaBuilder.SetNome("Marrone").SetTipoPessoa(TipoPessoa.Piloto).Create()); var ex = Assert.Throws <Exception>(() => _validacaoTransporte.RestricoesLocal(local)); Assert.Equal("O Presidiário não pode ficar sem a presença do Policial.", ex.Message); }
public async Task IncluirPessoaERetornaNovoIdDaPessoaIncluidaEVerdadeiroSepessoaIncluida() { var options = new DbContextOptionsBuilder <DatabaseContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var repository = new PessoaRepository(new(options)); var pessoaBuilder = new PessoaBuilder() .BuildSingleState(); var pessoaIncluida = await repository.IncluirAsync(pessoaBuilder); Assert.Equal(1, pessoaBuilder.Id); Assert.True(pessoaIncluida); }
public async Task PesquisarPorIdERetornaPessoa() { var options = new DbContextOptionsBuilder <DatabaseContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var repository = new PessoaRepository(new(options)); var pessoasBuilder = new PessoaBuilder() .BuildListState(); await repository.IncluirListaAsync(pessoasBuilder); var buscaPessoa = await repository.PesquisarIdAsync(2); Assert.Equal("Henrique Casagrande dos Santos Alves", buscaPessoa.Nome); }
public async Task RetornaListaDeTodasAsPessoas() { var options = new DbContextOptionsBuilder <DatabaseContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var repository = new PessoaRepository(new(options)); var pessoasBuilder = new PessoaBuilder() .BuildListState(); await repository.IncluirListaAsync(pessoasBuilder); var totalDeRegistrosInseridos = await repository.Todos(); Assert.True(totalDeRegistrosInseridos.ToList().Count > 1); }
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); }
public async void ExcluirPessoa() { var options = new DbContextOptionsBuilder <DatabaseContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var repository = new PessoaRepository(new(options)); var pessoasBuilder = new PessoaBuilder() .BuildListState(); await repository.IncluirListaAsync(pessoasBuilder); await repository.ExcluirAsync(1); var pesquisaPessoa = await repository.PesquisarIdAsync(1); Assert.Null(pesquisaPessoa); }
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(); }
static void Main(string[] args) { var localBuilder = new LocalBuilder(); var origem = localBuilder.SetDescricao("Terminal").Create(); var pessoaBuilder = new PessoaBuilder(); origem.AdicionarPessoa(pessoaBuilder.SetNome("Robin").SetTipoPessoa(TipoPessoa.Policial).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Batgirl").SetTipoPessoa(TipoPessoa.Comissaria).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Wolverine").SetTipoPessoa(TipoPessoa.Oficial).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Goku").SetTipoPessoa(TipoPessoa.Oficial).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Flash").SetTipoPessoa(TipoPessoa.ChefeDeServico).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Wonderwoman").SetTipoPessoa(TipoPessoa.Comissaria).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Seiya").SetTipoPessoa(TipoPessoa.Presidiario).Create()); origem.AdicionarPessoa(pessoaBuilder.SetNome("Allejo").SetTipoPessoa(TipoPessoa.Piloto).Create()); var destino = localBuilder.SetDescricao("Avião").Create(); new Transporte().ExecutarTransporte(origem, destino); Console.ReadKey(); }
public async void AlteraDadosDaPessoa() { var options = new DbContextOptionsBuilder <DatabaseContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; var repository = new PessoaRepository(new(options)); var pessoasBuilder = new PessoaBuilder() .BuildListState(); await repository.IncluirListaAsync(pessoasBuilder); var pesquisaPessoa = await repository.PesquisarIdAsync(2); pesquisaPessoa.Nome = "Fulano foi alterado"; await repository.AlterarAsync(pesquisaPessoa); pesquisaPessoa = await repository.PesquisarIdAsync(2); Assert.Equal("Fulano foi alterado", pesquisaPessoa.Nome); }