Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [TestMethod]
- public void TesteRepositorioDerivado()
- {
- using (var uow = new UnitOfWork(new MyEntities()))
- {
- //instanciando o repositório de endereços
- IRepositorio<Endereco> repEnderecos = new Repositorio<Endereco>(uow);
- //instanciando o repositório derivado de pessoas
- IRepositorio<Pessoa> repPessoas = new RepositorioPessoas(uow);
- //cria uma nova pessoa com a data atual já preenchida
- var pessoa = repPessoas.CreateNew();
- pessoa.Nome = "Fulano";
- //cria uma nova entidade Endereco e associa com a pessoa
- var end = repEnderecos.CreateNew();
- end.Rua = "Teste";
- end.Pessoas.Add(pessoa);
- //persiste todos os repositórios
- uow.Commit();
- //Faz a asserção checando se a pessoa possui endereços relacionados
- Assert.IsTrue(pessoa.Enderecos.Count > 0);
- }
- }
- [TestMethod]
- public void TesteOperacoesCrud()
- {
- using (var uow = new UnitOfWork(new MyEntities()))
- {
- var repPessoas = new RepositorioPessoas(uow);
- //exclui uma pessoa com id = 1
- var pessoa = repPessoas.GetEntityByKey(1);
- if (pessoa != null)
- repPessoas.RemoveEntity(pessoa);
- uow.Commit();
- //exclui todos os enderecos de uma pessoa com id = 2
- var repEnderecos = new Repositorio<Endereco>(uow);
- var pessoa2 = repPessoas.GetEntityByKey(2);
- if (pessoa2 != null)
- {
- var enderecosPessoa2 = repEnderecos.GetAll(end => end.Pessoas.Any(p => p == pessoa2));
- foreach (var endereco in enderecosPessoa2)
- {
- repEnderecos.RemoveEntity(endereco);
- }
- uow.Commit();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement