public async Task GetActiveConfiguredProjectAsync_WhenNoActiveConfiguration_ReturnsNull() { var activeConfiguredProjectProvider = IActiveConfiguredProjectProviderFactory.ImplementActiveProjectConfiguration(() => null); var services = IUnconfiguredProjectServicesFactory.Create(activeConfiguredProjectProvider: activeConfiguredProjectProvider); var provider = CreateInstance(services: services); var result = await provider.GetActiveConfiguredProjectsAsync(); Assert.Null(result); }
private ActiveConfiguredProjectsProvider CreateInstance(string activeConfiguration, string configurations, params string[] dimensionNames) { var activeConfig = ProjectConfigurationFactory.Create(activeConfiguration); var configs = ProjectConfigurationFactory.CreateMany(configurations.Split(';')); var configurationsService = IProjectConfigurationsServiceFactory.ImplementGetKnownProjectConfigurationsAsync(configs.ToImmutableHashSet()); var activeConfiguredProjectProvider = IActiveConfiguredProjectProviderFactory.ImplementActiveProjectConfiguration(() => activeConfig); var services = IUnconfiguredProjectServicesFactory.Create(activeConfiguredProjectProvider: activeConfiguredProjectProvider, projectConfigurationsService: configurationsService); var project = UnconfiguredProjectFactory.ImplementLoadConfiguredProjectAsync((projectConfiguration) => { return(Task.FromResult(ConfiguredProjectFactory.ImplementProjectConfiguration(projectConfiguration))); }); var dimensionProviders = dimensionNames.Select(name => IActiveConfiguredProjectsDimensionProviderFactory.ImplementDimensionName(name)); return(CreateInstance(services: services, project: project, dimensionProviders: dimensionProviders)); }
private ActiveConfiguredProjectsProvider CreateInstance(IUnconfiguredProjectServices services = null, UnconfiguredProject project = null, IEnumerable <IActiveConfiguredProjectsDimensionProvider> dimensionProviders = null) { services = services ?? IUnconfiguredProjectServicesFactory.Create(); project = project ?? UnconfiguredProjectFactory.Create(); var provider = new ActiveConfiguredProjectsProvider(services, project); if (dimensionProviders != null) { foreach (var dimensionProvider in dimensionProviders) { provider.DimensionProviders.Add(dimensionProvider, appliesTo: ProjectCapability.AlwaysAvailable); } } return(provider); }