public void SeSalvarContextoDeveSalvarHistoricoTransacional()
        {
            var transacao = CriarHistoricoTransacional();
            var contexto  = new ContextoFakeBase(transacao.Object);

            contexto.Salvar();

            transacao.Verify();
        }
        public void SeConsultarVariasVezesOMesmoBuscadorEspecificoDeveRetornarMesmaInstancia()
        {
            var contexto = new ContextoFakeBase();

            var buscadorUm = contexto.Buscar <ObjetoDeTestes>();

            var buscadorDois = contexto.Buscar <ObjetoDeTestes>();

            buscadorUm
            .Should()
            .BeSameAs(buscadorDois);
        }
        public void SeSalvarContextoComTransacaoIniciadaNaoDeveGerarErro()
        {
            var transacao = CriarHistoricoTransacional();
            var contexto  = new ContextoFakeBase(transacao.Object);

            contexto.IniciarTransacao();

            Action salvar = () => contexto.Salvar();

            salvar
            .ShouldNotThrow();
        }
 public RepositorioFake(ContextoFakeBase contexto, PersistenciaFake <TObjeto> persistencia)
 {
     _contexto        = contexto;
     _persistencia    = persistencia;
     _validarAoSalvar = true;
 }