public void CanDeactivateWithNullDataset() { var project = new Mock<ILinkToProjects>(); Func<string, IDisposable> timerFunc = s => new MockDisposable(); var command = new DeactivateDatasetCommand(project.Object, null, timerFunc); Assert.IsFalse(command.CanExecute(null)); }
public void CanDeactivateWithDeactivatedDataset() { var project = new Mock<ILinkToProjects>(); var proxy = new Mock<IProxyDataset>(); { proxy.Setup(p => p.IsActivated) .Returns(false); } var dataset = new DatasetFacade(proxy.Object); Func<string, IDisposable> timerFunc = s => new MockDisposable(); var command = new DeactivateDatasetCommand(project.Object, dataset, timerFunc); Assert.IsFalse(command.CanExecute(null)); }
public void DeactivateDataset() { var history = new Mock<ITimeline>(); { history.Setup(h => h.Mark()) .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); } using (var source = new CancellationTokenSource()) { var proxy = new Mock<IProxyDataset>(); { proxy.Setup(p => p.IsActivated) .Returns(true); proxy.Setup(p => p.Deactivate()) .Returns(() => Task.Factory.StartNew( () => { }, source.Token, TaskCreationOptions.None, new CurrentThreadTaskScheduler())) .Verifiable(); } var dataset = new DatasetFacade(proxy.Object); Func<string, IDisposable> timerFunc = s => new MockDisposable(); var command = new DeactivateDatasetCommand(projectLink.Object, dataset, timerFunc); command.Execute(null); proxy.Verify(p => p.Deactivate(), Times.Once()); history.Verify(h => h.Mark(), Times.Once()); } }