Пример #1
0
        public void SeCancelarUmaTransacaoOsEventosDeCancelamentoDevemSerVerificados()
        {
            var conexao = CriarConexao();
            var eventos = new GerenciadorEventosConexao(conexao);

            conexao.IniciarTransacao();

            eventos.ReiniciarValidacao();

            conexao.CancelarTransacao();

            eventos.Validar(
                executarEventoAntesIniciar: false,
                executarEventoDepoisIniciar: false,
                executarEventoAntesConfirmar: false,
                executarEventoAoConfirmar: false,
                executarEventoAntesCancelar: true,
                executarEventoAoCancelar: true);

            eventos.Validar(
                sequenciaEventoAntesIniciar: 0,
                sequenciaEventoDepoisIniciar: 0,
                sequenciaEventoAntesConfirmar: 0,
                sequenciaEventoAoConfirmar: 0,
                sequenciaEventoAntesCancelar: 1,
                sequenciaEventoAoCancelar: 2);
        }
Пример #2
0
        public void SeIniciarUmaTransacaoOsEventosDeInicioDevemSerVerificados()
        {
            var conexao = CriarConexao();
            var eventos = new GerenciadorEventosConexao(conexao);

            var connection = conexao.CriarConexaoSemTransacao();

            eventos.Validar(
                executarEventoAntesIniciar: false,
                executarEventoDepoisIniciar: false,
                executarEventoAntesConfirmar: false,
                executarEventoAoConfirmar: false,
                executarEventoAntesCancelar: false,
                executarEventoAoCancelar: false);

            eventos.ReiniciarValidacao();
            connection.Dispose();

            connection = conexao.CriarConexaoTransacionada();

            eventos.Validar(
                executarEventoAntesIniciar: true,
                executarEventoDepoisIniciar: true,
                executarEventoAntesConfirmar: false,
                executarEventoAoConfirmar: false,
                executarEventoAntesCancelar: false,
                executarEventoAoCancelar: false);

            eventos.Validar(
                sequenciaEventoAntesIniciar: 1,
                sequenciaEventoDepoisIniciar: 2,
                sequenciaEventoAntesConfirmar: 0,
                sequenciaEventoAoConfirmar: 0,
                sequenciaEventoAntesCancelar: 0,
                sequenciaEventoAoCancelar: 0);

            conexao.CancelarTransacao();
            connection.Dispose();
            eventos.ReiniciarValidacao();

            conexao.IniciarTransacao();

            eventos.Validar(
                executarEventoAntesIniciar: true,
                executarEventoDepoisIniciar: true,
                executarEventoAntesConfirmar: false,
                executarEventoAoConfirmar: false,
                executarEventoAntesCancelar: false,
                executarEventoAoCancelar: false);

            eventos.Validar(
                sequenciaEventoAntesIniciar: 1,
                sequenciaEventoDepoisIniciar: 2,
                sequenciaEventoAntesConfirmar: 0,
                sequenciaEventoAoConfirmar: 0,
                sequenciaEventoAntesCancelar: 0,
                sequenciaEventoAoCancelar: 0);

            conexao.Dispose();
        }
        public void SeIniciarUmaTransacaoOsEventosDeInicioDevemSerVerificados()
        {
            using (var conexao = CriarConexao())
            {
                var eventosConexao = new GerenciadorEventosConexao(conexao);

                using (var conexaoBanco = conexao.CriarConexaoSemTransacao())
                    eventosConexao.Validar(
                        executarEventoAntesIniciar: false,
                        executarEventoDepoisIniciar: false);

                using (var transacao = conexao.IniciarTransacao() as Transacao)
                {
                    eventosConexao.Validar(
                        executarEventoAntesIniciar: true,
                        executarEventoDepoisIniciar: true);

                    eventosConexao.Validar(
                        sequenciaEventoAntesIniciar: 1,
                        sequenciaEventoDepoisIniciar: 2);

                    transacao.CancelarTransacao();
                }

                using (var transacao = conexao.IniciarTransacao() as Transacao)
                {
                    var eventosTransacao = new GerenciadorEventosTransacao(transacao as Transacao);

                    eventosTransacao.Validar(
                        executarEventoAntesConfirmar: false,
                        executarEventoAoConfirmar: false,
                        executarEventoAntesCancelar: false,
                        executarEventoAoCancelar: false);

                    eventosTransacao.Validar(
                        sequenciaEventoAntesConfirmar: 0,
                        sequenciaEventoAoConfirmar: 0,
                        sequenciaEventoAntesCancelar: 0,
                        sequenciaEventoAoCancelar: 0);
                }
            }
        }