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 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)); }
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)); }