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

            var command = new RedoCommand(null, timerFunc);

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

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

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

            Assert.IsFalse(command.CanExecute(null));
        }
Пример #3
0
        public void Redo()
        {
            var currentMark = new TimeMarker(10);
            var markers     = new List <TimeMarker>
            {
                new TimeMarker(1),
            };
            var history = new Mock <ITimeline>();
            {
                history.Setup(h => h.CanRollForward)
                .Returns(true);
                history.Setup(h => h.MarkersInTheFuture())
                .Returns(markers);
                history.Setup(h => h.Current)
                .Returns(currentMark);
                history.Setup(h => h.RollForwardTo(It.IsAny <TimeMarker>(), It.IsAny <TimelineTraveller>()))
                .Verifiable();
            }

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

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

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

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

            command.Execute(null);

            history.Verify(h => h.RollForwardTo(It.IsAny <TimeMarker>(), It.IsAny <TimelineTraveller>()), Times.Once());
        }
Пример #4
0
        public void CanRedoWithMarkers()
        {
            var currentMark = new TimeMarker(10);
            var markers     = new List <TimeMarker>
            {
                new TimeMarker(1),
            };
            var history = new Mock <ITimeline>();
            {
                history.Setup(h => h.CanRollForward)
                .Returns(true);
                history.Setup(h => h.MarkersInTheFuture())
                .Returns(markers);
                history.Setup(h => h.Current)
                .Returns(currentMark);
            }

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

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

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

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

            Assert.IsTrue(command.CanExecute(null));
        }