コード例 #1
0
        public void AddCustomer_RollsBack_WhenHibernateExceptionIsThrown()
        {
            // Arrange
            var mockTransaction = new MockTransaction();
            var mockProvider = GetMockProvider(mockTransaction);

            // Act
            Assert.Throws<Exception>(delegate
                                         {
                                             mockProvider.AddCustomer(anyCustomer);
                                         });

            // Assert
            Assert.That(mockTransaction.WasRolledBack, Is.True());
        }
コード例 #2
0
        public void DeleteCustomerWithTransactionRollbackWhenExceptionIsThrown()
        {
            // Arrange
            var mockTransaction = new MockTransaction();
            var mockProvider = GetMockProvider(mockTransaction);

            // Act

            Assert.Throws<Exception>(delegate
                                         {
                                             mockProvider.DeleteCustomerWithTransaction(anyCustomer);
                                         });

            // Assert
            Assert.That(mockTransaction.WasRolledBack, Is.True());
        }
コード例 #3
0
        public void CriteriaAPI_GetDistinctCustomerFirstNames_RollsBack_WhenHibernateExceptionIsThrown()
        {
            // Arrange
            var mockTransaction = new MockTransaction();
            var mockProvider = GetMockProvider(mockTransaction);

            // Act
            Assert.Throws<Exception>(delegate
                                         {
                                             mockProvider.CriteriaAPI_GetDistinctCustomerFirstNames();
                                         });

            // Assert
            Assert.That(mockTransaction.WasRolledBack, Is.True());
        }
コード例 #4
0
        public void CriteriaAPI_GetCustomersWithIdGreaterThan_RollsBack_WhenHibernateExceptionIsThrown()
        {
            // Arrange
            var mockTransaction = new MockTransaction();
            var mockProvider = GetMockProvider(mockTransaction);

            // Act
            Assert.Throws<Exception>(delegate
                                         {
                                             const int anyId = 1;
                                             mockProvider.CriteriaAPI_GetCustomersWithIdGreaterThan(anyId);
                                         });

            // Assert
            Assert.That(mockTransaction.WasRolledBack, Is.True());
        }
コード例 #5
0
        private static NHibernateDataProvider GetMockProvider(MockTransaction mockTransaction)
        {
            var mockSession = new MockSession(mockTransaction);
            var mockSessionFactory = new MockSessionFactory(mockSession);

            return new NHibernateDataProvider(mockSession);
        }
コード例 #6
0
        public void UpdateCustomerFirstname_RollsBack_WhenHibernateExceptionIsThrown()
        {
            // Arrange
            var mockTransaction = new MockTransaction();
            var mockProvider = GetMockProvider(mockTransaction);

            // Act
            Assert.Throws<Exception>(delegate
                                         {
                                             mockProvider.UpdateCustomerFirstname(anyCustomerid, anyCustomerLastName);
                                         });

            // Assert
            Assert.That(mockTransaction.WasRolledBack, Is.True());
        }
コード例 #7
0
        public void GetCustomerByFirstnameWithParameters_RollsBack_WhenHibernateExceptionIsThrown()
        {
            // Arrange
            var mockTransaction = new MockTransaction();
            var mockProvider = GetMockProvider(mockTransaction);

            // Act
            Assert.Throws<Exception>(delegate
                                         {
                                             mockProvider.GetCustomerByFirstnameWithParameters("anyFirstName");
                                         });

            // Assert
            Assert.That(mockTransaction.WasRolledBack, Is.True());
        }