public void SessionFactoryUtilsWithGetDbProvider() { MockRepository mockery = new MockRepository(); ISessionFactoryImplementor sessionFactory = (ISessionFactoryImplementor) mockery.CreateMultiMock(typeof(ISessionFactory), typeof(ISessionFactoryImplementor)); IDriver driver = (IDriver)mockery.DynamicMock(typeof(IDriver)); Expect.Call(driver.CreateCommand()).Repeat.AtLeastOnce().Return(new SqlCommand()); IConnectionProvider cp = (IConnectionProvider) mockery.DynamicMock(typeof (IConnectionProvider)); Expect.Call(cp.Driver).Repeat.AtLeastOnce().Return(driver); Expect.Call(sessionFactory.ConnectionProvider).Repeat.AtLeastOnce().Return(cp); mockery.ReplayAll(); IDbProvider provider = SessionFactoryUtils.GetDbProvider(sessionFactory); Assert.AreEqual(typeof(SqlCommand), provider.DbMetadata.CommandType); mockery.VerifyAll(); }