public void UnloadProjectWithoutCurrentProject() { var service = new Mock <IUserInterfaceService>(); var facade = new ProjectHubForScripts(new ProjectHub(service.Object)); Assert.Throws <CannotUnloadProjectException>(() => facade.UnloadProject()); }
public void UnloadProject() { var project = new Mock <IProject>(); var service = new Mock <IUserInterfaceService>(); { service.Setup(s => s.Contains(It.IsAny <CommandId>())) .Returns(true); service.Setup(s => s.Invoke(It.IsAny <CommandId>(), It.IsAny <ICommandContext>())) .Callback <CommandId, ICommandContext>( (id, context) => { CreateProjectContext createContext = context as CreateProjectContext; createContext.Result = Task <IProject> .Factory.StartNew( () => project.Object, new CancellationToken(), TaskCreationOptions.None, new CurrentThreadTaskScheduler()); }); } var facade = new ProjectHubForScripts(new ProjectHub(service.Object)); facade.NewProject(); Assert.IsTrue(facade.HasActiveProject()); service.Setup(s => s.Invoke(It.IsAny <CommandId>(), It.IsAny <ICommandContext>())) .Callback <CommandId, ICommandContext>( (id, context) => { Assert.IsAssignableFrom <UnloadProjectContext>(context.GetType()); }) .Verifiable(); facade.UnloadProject(); Assert.IsFalse(facade.HasActiveProject()); service.Verify(s => s.Invoke(It.IsAny <CommandId>(), It.IsAny <UnloadProjectContext>()), Times.Exactly(1)); }
public void UnloadProject() { var project = new Mock<IProject>(); var service = new Mock<IUserInterfaceService>(); { service.Setup(s => s.Contains(It.IsAny<CommandId>())) .Returns(true); service.Setup(s => s.Invoke(It.IsAny<CommandId>(), It.IsAny<ICommandContext>())) .Callback<CommandId, ICommandContext>( (id, context) => { CreateProjectContext createContext = context as CreateProjectContext; createContext.Result = Task<IProject>.Factory.StartNew( () => project.Object, new CancellationToken(), TaskCreationOptions.None, new CurrentThreadTaskScheduler()); }); } var facade = new ProjectHubForScripts(new ProjectHub(service.Object)); facade.NewProject(); Assert.IsTrue(facade.HasActiveProject()); service.Setup(s => s.Invoke(It.IsAny<CommandId>(), It.IsAny<ICommandContext>())) .Callback<CommandId, ICommandContext>( (id, context) => { Assert.IsAssignableFrom<UnloadProjectContext>(context.GetType()); }) .Verifiable(); facade.UnloadProject(); Assert.IsFalse(facade.HasActiveProject()); service.Verify(s => s.Invoke(It.IsAny<CommandId>(), It.IsAny<UnloadProjectContext>()), Times.Exactly(1)); }
public void UnloadProjectWithoutCurrentProject() { var service = new Mock<IUserInterfaceService>(); var facade = new ProjectHubForScripts(new ProjectHub(service.Object)); Assert.Throws<CannotUnloadProjectException>(() => facade.UnloadProject()); }