public async Task OnProjectChanged_WhenNotDebuggable_ProjectNotRegistered() { var vsStartupProjectsListService = new VsStartupProjectsListService(); var debugProvider = IDebugLaunchProviderFactory.ImplementIsProjectDebuggableAsync(() => false); var registrar = await CreateInitializedInstanceAsync(vsStartupProjectsListService, debugProvider); await registrar.OnProjectChangedAsync(); Assert.Null(vsStartupProjectsListService.ProjectGuid); }
public async Task OnProjectChanged_WhenDebuggable_ProjectRegistered() { var projectGuid = Guid.NewGuid(); var vsStartupProjectsListService = new VsStartupProjectsListService(); var debugProvider = IDebugLaunchProviderFactory.ImplementCanLaunchAsync(() => true); var registrar = await CreateInitializedInstanceAsync(projectGuid, vsStartupProjectsListService, debugProvider); await registrar.OnProjectChangedAsync(); Assert.Equal(projectGuid, vsStartupProjectsListService.ProjectGuid); }
public async Task OnProjectChanged_ConsultsAllDebugProviders() { var projectGuid = Guid.NewGuid(); var vsStartupProjectsListService = new VsStartupProjectsListService(); var debugProvider1 = IDebugLaunchProviderFactory.ImplementIsProjectDebuggableAsync(() => false); var debugProvider2 = IDebugLaunchProviderFactory.ImplementIsProjectDebuggableAsync(() => true); var registrar = await CreateInitializedInstanceAsync(projectGuid, vsStartupProjectsListService, debugProvider1, debugProvider2); await registrar.OnProjectChangedAsync(); Assert.Equal(projectGuid, vsStartupProjectsListService.ProjectGuid); }
public async Task OnProjectChanged_WhenProjectAlreadyRegisteredAndNotDebuggable_ProjectUnregistered() { bool isDebuggable = true; var projectGuid = Guid.NewGuid(); var vsStartupProjectsListService = new VsStartupProjectsListService(); var debugProvider = IDebugLaunchProviderFactory.ImplementIsProjectDebuggableAsync(() => isDebuggable); var registrar = await CreateInitializedInstanceAsync(projectGuid, vsStartupProjectsListService, debugProvider); await registrar.OnProjectChangedAsync(); isDebuggable = false; await registrar.OnProjectChangedAsync(); Assert.Null(vsStartupProjectsListService.ProjectGuid); }