Beispiel #1
0
            public void Uses_interception()
            {
                var transactionMock = new Mock <DbTransaction>();

                transactionMock.Protected().Setup <DbConnection>("DbConnection").Returns(new Mock <DbConnection>().Object);
                var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object);
                var transactionInterceptorMock = new Mock <IDbTransactionInterceptor>();

                DbInterception.Add(transactionInterceptorMock.Object);
                try
                {
                    transaction.Rollback();
                }
                finally
                {
                    DbInterception.Remove(transactionInterceptorMock.Object);
                }

                transactionInterceptorMock.Verify(
                    m => m.RollingBack(It.IsAny <DbTransaction>(), It.IsAny <DbTransactionInterceptionContext>()),
                    Times.Once());
                transactionInterceptorMock.Verify(
                    m => m.RolledBack(It.IsAny <DbTransaction>(), It.IsAny <DbTransactionInterceptionContext>()),
                    Times.Once());
                transactionMock.Verify(m => m.Rollback(), Times.Once());
            }
            public void Uses_interception()
            {
                var transactionMock = new Mock<DbTransaction>();
                transactionMock.Protected().Setup<DbConnection>("DbConnection").Returns(new Mock<DbConnection>().Object);
                var transaction = new EntityTransaction(new EntityConnection(), transactionMock.Object);
                var transactionInterceptorMock = new Mock<IDbTransactionInterceptor>();
                DbInterception.Add(transactionInterceptorMock.Object);
                try
                {
                    transaction.Rollback();
                }
                finally
                {
                    DbInterception.Remove(transactionInterceptorMock.Object);
                }

                transactionInterceptorMock.Verify(
                    m => m.RollingBack(It.IsAny<DbTransaction>(), It.IsAny<DbTransactionInterceptionContext>()),
                        Times.Once());
                transactionInterceptorMock.Verify(
                    m => m.RolledBack(It.IsAny<DbTransaction>(), It.IsAny<DbTransactionInterceptionContext>()),
                        Times.Once());
                transactionMock.Verify(m => m.Rollback(), Times.Once());
            }