コード例 #1
0
        public void TestSimpleAddRemoveSession()
        {
            var mock = new Mock<ISessionRepository>();
              var manager = new SessionManager(mock.Object);

              Session newSession = new SessionBuilder().StartDefault().Build();
              manager.AddSession(newSession);

              Assert.AreEqual(1, manager.GetSessions().Count());
              Assert.AreSame(newSession, manager.GetSessions().First());

              manager.RemoveSession(newSession);

              Assert.AreEqual(0, manager.GetSessions().Count());
        }
コード例 #2
0
        public void TestRemoveNonExistentSession()
        {
            var mock = new Mock<ISessionRepository>();
              var manager = new SessionManager(mock.Object);

              Session newSession = new SessionBuilder().StartDefault().Build();

              manager.RemoveSession(newSession);
        }
コード例 #3
0
        public void TestRemoveNullSession()
        {
            var mock = new Mock<ISessionRepository>();
              var manager = new SessionManager(mock.Object);

              manager.RemoveSession(null);
        }
コード例 #4
0
        public void TestPersist()
        {
            Session s1 = new SessionBuilder().StartDefault("S1").Build();
              Session s2 = new SessionBuilder().StartDefault("S2").Build();
              Session s3 = new SessionBuilder().StartDefault("S3").Build();

              var mockUnitOfWork = new Mock<IUnitOfWork>();
              var mockRepository = new Mock<ISessionRepository>();
              mockRepository.Setup(sm => sm.GetUnitOfWork()).Returns(mockUnitOfWork.Object);

              var manager = new SessionManager(mockRepository.Object);
              manager.AddSession(s1);
              manager.AddSession(s2);
              manager.AddSession(s3);
              manager.RemoveSession(s3);
              manager.CurrentSession = s1;

              manager.Persist();

              mockUnitOfWork.Verify(uow => uow.RegisterSavedOrUpdated(It.Is<Session>(o => o.Equals(s1))), Times.Once());
              mockUnitOfWork.Verify(uow => uow.RegisterSavedOrUpdated(It.Is<Session>(o => o.Equals(s2))), Times.Once());
              mockUnitOfWork.Verify(uow => uow.RegisterRemoved(It.Is<Session>(o => o.Equals(s3))), Times.Once());
              mockUnitOfWork.Verify(uow => uow.RegisterSavedOrUpdated(It.Is<CurrentSessionInfo>(o => o.CurrentSessionName.Equals(s1.Name))), Times.Once());
              mockUnitOfWork.Verify(uow => uow.Commit(), Times.Once());
        }