예제 #1
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();
        }
예제 #2
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);
        }