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);
        }
Exemplo n.º 2
0
        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);
        }