public void ActivateDataset() { 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); } var proxy = new Mock<IProxyDataset>(); { proxy.Setup(p => p.IsActivated) .Returns(false); proxy.Setup(p => p.CanActivate) .Returns(true); proxy.Setup( p => p.Activate( It.IsAny<DistributionLocations>(), It.IsAny<Func<IEnumerable<DistributionSuggestion>, SelectedProposal>>(), It.IsAny<CancellationToken>())) .Returns<DistributionLocations, Func<IEnumerable<DistributionSuggestion>, SelectedProposal>, CancellationToken>( (d, f, c) => Task.Factory.StartNew( () => { }, c, TaskCreationOptions.None, new CurrentThreadTaskScheduler())) .Verifiable(); } var dataset = new DatasetFacade(proxy.Object); Func<IEnumerable<DistributionSuggestion>, SelectedProposal> selectionFunc = suggestions => null; Func<string, IDisposable> timerFunc = s => new MockDisposable(); var command = new ActivateDatasetCommand(projectLink.Object, dataset, selectionFunc, timerFunc); command.Execute(null); proxy.Verify( p => p.Activate( It.IsAny<DistributionLocations>(), It.IsAny<Func<IEnumerable<DistributionSuggestion>, SelectedProposal>>(), It.IsAny<CancellationToken>()), Times.Once()); history.Verify(h => h.Mark(), Times.Once()); }
public void CanActivateWithActivatedDataset() { var project = new Mock<ILinkToProjects>(); var proxy = new Mock<IProxyDataset>(); { proxy.Setup(p => p.IsActivated) .Returns(true); } var dataset = new DatasetFacade(proxy.Object); Func<IEnumerable<DistributionSuggestion>, SelectedProposal> selectionFunc = suggestions => null; Func<string, IDisposable> timerFunc = s => new MockDisposable(); var command = new ActivateDatasetCommand(project.Object, dataset, selectionFunc, timerFunc); Assert.IsFalse(command.CanExecute(null)); }
public void CanActivateWithNullDataset() { var project = new Mock<ILinkToProjects>(); Func<IEnumerable<DistributionSuggestion>, SelectedProposal> selectionFunc = suggestions => null; Func<string, IDisposable> timerFunc = s => new MockDisposable(); var command = new ActivateDatasetCommand(project.Object, null, selectionFunc, timerFunc); Assert.IsFalse(command.CanExecute(null)); }