public async Task WhenProjectUnloading_DoesNotLoadConfiguredProject() { var tasksService = IUnconfiguredProjectTasksServiceFactory.CreateWithUnloadedProject <ConfiguredProject>(); int callCount = 0; UnconfiguredProject project = UnconfiguredProjectFactory.ImplementLoadConfiguredProjectAsync(configuration => { callCount++; return(Task.FromResult <ConfiguredProject>(null)); }); var loader = CreateInstance(project, tasksService, out ProjectValueDataSource <IConfigurationGroup <ProjectConfiguration> > source); await loader.InitializeAsync(); var configurationGroups = IConfigurationGroupFactory.CreateFromConfigurationNames("Debug|AnyCPU"); // Change the active configurations await source.SendAndCompleteAsync(configurationGroups, loader.TargetBlock); // Should not be listening Assert.Equal(0, callCount); }
private static ActiveConfiguredProjectsLoader CreateInstance(UnconfiguredProject project, IActiveConfigurationGroupService activeConfigurationGroupService, IUnconfiguredProjectTasksService tasksService) { tasksService = tasksService ?? IUnconfiguredProjectTasksServiceFactory.ImplementLoadedProjectAsync <ConfiguredProject>(t => t()); return(new ActiveConfiguredProjectsLoader(project, activeConfigurationGroupService, tasksService)); }