コード例 #1
0
        public void Ctor_SessionManagerSet_UnregisterUoWCalled()
        {
            var sessionManager = new Mock <ISessionManager>();
            var scope          = new ExplicitNhSessionScope(sessionManager.Object);

            sessionManager.Verify(x => x.UnregisterUoW(), Times.Once);
        }
コード例 #2
0
        public void Dispose_Exception_Handled()
        {
            var sessionManager = new Mock <ISessionManager>();

            sessionManager.Setup(x => x.CloseAll())
            .Throws(new ArgumentException());
            var scope = new ExplicitNhSessionScope(sessionManager.Object);

            scope.Dispose();

            Assert.Pass();
        }
コード例 #3
0
        public void Dispose_CalledTwoTimes_CloseAllCalledOnce()
        {
            var countOfCallbackCalls = 0;
            var sessionManager       = new Mock <ISessionManager>();
            var scope = new ExplicitNhSessionScope(sessionManager.Object);

            scope.Disposed += (s, e) => ++ countOfCallbackCalls;

            scope.Dispose();
            scope.Dispose();

            sessionManager.Verify(x => x.CloseAll(), Times.Once);
            Assert.That(countOfCallbackCalls == 1);
        }