Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
        }