public void Initialize_SetsLastDesignTimeBuildSucceededToFalse() { var applyChangesToWorkspace = CreateInstance(); var context = IWorkspaceProjectContextFactory.Create(); applyChangesToWorkspace.Initialize(context); Assert.False(context.LastDesignTimeBuildSucceeded); }
private static ApplyChangesToWorkspaceContext CreateInitializedInstance(out IWorkspaceProjectContext context, ConfiguredProject project = null, ICommandLineParserService commandLineParser = null, IProjectLogger logger = null, params IWorkspaceContextHandler[] handlers) { var applyChangesToWorkspace = CreateInstance(project, commandLineParser, logger, handlers); context = IWorkspaceProjectContextFactory.Create(); applyChangesToWorkspace.Initialize(context); return(applyChangesToWorkspace); }
public async Task DisposeAsync_WhenInitializedWithNoHandlers_DoesNotThrow() { var applyChangesToWorkspace = CreateInstance(); var context = IWorkspaceProjectContextFactory.Create(); applyChangesToWorkspace.Initialize(context); await applyChangesToWorkspace.DisposeAsync(); Assert.True(applyChangesToWorkspace.IsDisposed); }
public void Initialize_InitializesHandlers() { IWorkspaceProjectContext result = null; var handler = IWorkspaceContextHandlerFactory.ImplementInitialize((c) => { result = c; }); var applyChangesToWorkspace = CreateInstance(handlers: handler); var context = IWorkspaceProjectContextFactory.Create(); applyChangesToWorkspace.Initialize(context); Assert.Same(context, result); }
public void Initialize_WhenAlreadyInitialized_ThrowsInvalidOperation() { var applyChangesToWorkspace = CreateInstance(); var context = IWorkspaceProjectContextFactory.Create(); applyChangesToWorkspace.Initialize(context); Assert.Throws <InvalidOperationException>(() => { applyChangesToWorkspace.Initialize(context); }); }
public async Task GetDesignTimeRules_WhenDisposed_ThrowsObjectDisposed() { var applyChangesToWorkspace = CreateInstance(); await applyChangesToWorkspace.DisposeAsync(); var context = IWorkspaceProjectContextFactory.Create(); Assert.Throws <ObjectDisposedException>(() => { applyChangesToWorkspace.GetDesignTimeRules(); }); }
public async Task Initialize_WhenDisposed_ThrowsObjectDisposed() { var applyChangesToWorkspace = CreateInstance(); await applyChangesToWorkspace.DisposeAsync(); var context = IWorkspaceProjectContextFactory.Create(); Assert.Throws <ObjectDisposedException>(() => { applyChangesToWorkspace.Initialize(context); }); }
public async Task DisposeAsync_DisposesHandlers() { int callCount = 0; var handler = IWorkspaceContextHandlerFactory.ImplementDispose(() => { callCount++; }); var applyChangesToWorkspace = CreateInstance(handlers: handler); var context = IWorkspaceProjectContextFactory.Create(); applyChangesToWorkspace.Initialize(context); await applyChangesToWorkspace.DisposeAsync(); Assert.Equal(1, callCount); }
private static WorkspaceProjectContextProvider CreateInstance(UnconfiguredProject project = null, IProjectThreadingService threadingService = null, IWorkspaceProjectContextFactory workspaceProjectContextFactory = null, ISafeProjectGuidService projectGuidService = null, IProjectRuleSnapshot projectRuleSnapshot = null) { projectRuleSnapshot = projectRuleSnapshot ?? IProjectRuleSnapshotFactory.FromJson( @"{ ""Properties"": { ""MSBuildProjectFullPath"": ""C:\\Project\\Project.csproj"", ""LanguageServiceName"": ""CSharp"", ""TargetPath"": ""C:\\Target.dll"" } }"); var telemetryService = ITelemetryServiceFactory.Create(); project = project ?? UnconfiguredProjectFactory.Create(); threadingService = threadingService ?? IProjectThreadingServiceFactory.Create(); workspaceProjectContextFactory = workspaceProjectContextFactory ?? IWorkspaceProjectContextFactoryFactory.Create(); projectGuidService = projectGuidService ?? ISafeProjectGuidServiceFactory.ImplementGetProjectGuidAsync(Guid.NewGuid()); var mock = new Mock <WorkspaceProjectContextProvider>(project, threadingService, projectGuidService, telemetryService, workspaceProjectContextFactory.AsLazy()); mock.Protected().Setup <Task <IProjectRuleSnapshot> >("GetLatestSnapshotAsync", ItExpr.IsAny <ConfiguredProject>()) .ReturnsAsync(projectRuleSnapshot); return(mock.Object); }