コード例 #1
0
        public void Dispose_also_disposes_of_session()
        {
            var session = new Mock<ISession>();
            var context = new Mock<CurrentSessionContext>();
            var sessionFactory = new Mock<ISessionFactoryImplementor>();

            sessionFactory.Setup(factory => factory.OpenSession()).Returns(session.Object);
            session.Setup(session2 => session2.SessionFactory).Returns(sessionFactory.Object);
            sessionFactory.Setup(implementor => implementor.CurrentSessionContext).Returns(context.Object);

            var work = new HibernateUnitOfWork(sessionFactory.Object);

            work.Dispose();

            session.Verify(session1 => session1.Dispose());
        }