Пример #1
0
        public void CanSaveProjectWithNullFacade()
        {
            Func <string, IDisposable> timerFunc = s => new MockDisposable();

            var command = new SaveProjectCommand(null, timerFunc);

            Assert.IsFalse(command.CanExecute(null));
        }
Пример #2
0
        public void CanSaveProjectWithoutActiveProject()
        {
            var project = new Mock <ILinkToProjects>();
            {
                project.Setup(p => p.HasActiveProject())
                .Returns(false);
            }

            Func <string, IDisposable> timerFunc = s => new MockDisposable();

            var command = new SaveProjectCommand(project.Object, timerFunc);

            Assert.IsFalse(command.CanExecute(null));
        }
Пример #3
0
        public void CanSaveProjectWithoutChanges()
        {
            var project = new Mock <IProject>();

            var projectFacade = new ProjectFacade(project.Object);
            var projectLink   = new Mock <ILinkToProjects>();
            {
                projectLink.Setup(p => p.HasActiveProject())
                .Returns(true);
                projectLink.Setup(p => p.ActiveProject())
                .Returns(projectFacade);
            }

            Func <string, IDisposable> timerFunc = s => new MockDisposable();

            var command = new SaveProjectCommand(projectLink.Object, timerFunc);

            Assert.IsFalse(command.CanExecute(null));
        }
Пример #4
0
        public void LoadProject()
        {
            var history = new Mock <ITimeline>();
            {
                history.Setup(h => h.Mark(It.IsAny <string>()))
                .Verifiable();
            }

            var project = new Mock <IProject>();
            {
                project.Setup(p => p.History)
                .Returns(history.Object);
                project.Setup(p => p.Save(It.IsAny <IPersistenceInformation>()))
                .Verifiable();
            }

            var projectFacade = new ProjectFacade(project.Object);
            var projectLink   = new Mock <ILinkToProjects>();
            {
                projectLink.Setup(p => p.HasActiveProject())
                .Returns(true);
                projectLink.Setup(p => p.ActiveProject())
                .Returns(projectFacade);
            }

            Func <string, IDisposable> timerFunc = s => new MockDisposable();

            var command = new SaveProjectCommand(projectLink.Object, timerFunc);

            var persistence = new Mock <IPersistenceInformation>();

            command.Execute(persistence.Object);

            project.Verify(p => p.Save(It.IsAny <IPersistenceInformation>()), Times.Once());
            history.Verify(h => h.Mark(It.IsAny <string>()), Times.Once());
        }