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()); }
public void TestRemoveNonExistentSession() { var mock = new Mock<ISessionRepository>(); var manager = new SessionManager(mock.Object); Session newSession = new SessionBuilder().StartDefault().Build(); manager.RemoveSession(newSession); }
public void TestRemoveNullSession() { var mock = new Mock<ISessionRepository>(); var manager = new SessionManager(mock.Object); manager.RemoveSession(null); }
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()); }