public async Task GetActiveProjectConfigurationsAsync_ConfigurationsWithTargetFrameworkDimensionProvider_ReturnsConfigsThatMatchConfigurationAndPlatformFromActiveConfiguration(string activeConfiguration, string configurations, string expected) { var provider = CreateInstance(activeConfiguration, configurations, "TargetFramework"); var result = await provider.GetActiveProjectConfigurationsAsync(); var activeConfigs = ProjectConfigurationFactory.CreateMany(expected.Split(';')); Assert.Equal(activeConfigs.OrderBy(c => c.Name), result.Objects.OrderBy(c => c.Name)); Assert.Equal(new[] { "TargetFramework" }, result.DimensionNames); }
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)); }