コード例 #1
0
        public void Rollback_MultipleCallsFail()
        {
            var conn   = new TestDbConnection();
            var target = new DataTransaction(conn.BeginTransaction());

            target.Rollback();

            Action action = () => target.Rollback();

            action.Should().Throw <InvalidOperationException>();
        }
コード例 #2
0
        public void Rollback_ClosesConnection()
        {
            var conn   = new TestDbConnection();
            var target = new DataTransaction(conn.BeginTransaction(), true);

            //Act
            target.Rollback();

            //Assert
            conn.State.Should().Be(ConnectionState.Closed);
        }
コード例 #3
0
        public void Rollback_DoesNotClosesConnection()
        {
            var conn   = new TestDbConnection();
            var target = new DataTransaction(conn.BeginTransaction(), false);

            //Act
            target.Rollback();

            //Assert
            conn.State.Should().Be(ConnectionState.Open);
        }
コード例 #4
0
        public void RollBack_RaisesEvent()
        {
            var  conn = new TestDbConnection();
            var  target = new DataTransaction(conn.BeginTransaction());
            bool wasCommitted = false, wasRolledBack = false;

            //Act
            target.Committed  += (o, e) => wasCommitted = true;
            target.RolledBack += (o, e) => wasRolledBack = true;
            target.Rollback();

            //Assert
            wasRolledBack.Should().BeTrue();
            wasCommitted.Should().BeFalse();
        }
コード例 #5
0
 public void Rollback()
 {
     _trans.Rollback();
 }