private InterceptedProjectPropertiesProviderBase CreateInstance(FrameworkName configuredTargetFramework) { var data = new PropertyPageData() { Category = ConfigurationGeneral.SchemaName, PropertyName = ConfigurationGeneral.TargetFrameworkMonikerProperty, Value = configuredTargetFramework.FullName }; var project = UnconfiguredProjectFactory.Create(); var properties = ProjectPropertiesFactory.Create(project, data); var instanceProvider = IProjectInstancePropertiesProviderFactory.Create(); var delegatePropertiesMock = IProjectPropertiesFactory .MockWithProperty(TargetFrameworkPropertyName); var delegateProperties = delegatePropertiesMock.Object; var delegateProvider = IProjectPropertiesProviderFactory.Create(delegateProperties); var targetFrameworkProvider = new TargetFrameworkValueProvider(properties); var providerMetadata = IInterceptingPropertyValueProviderMetadataFactory.Create(TargetFrameworkPropertyName); var lazyArray = new[] { new Lazy <IInterceptingPropertyValueProvider, IInterceptingPropertyValueProviderMetadata>( () => targetFrameworkProvider, providerMetadata) }; return(new ProjectFileInterceptedProjectPropertiesProvider(delegateProvider, instanceProvider, project, lazyArray)); }
public void Provider_IgnoresPropertyIfAbsent() { var unconfiguredProject = IUnconfiguredProjectFactory.Create(); var instanceProvider = IProjectInstancePropertiesProviderFactory.Create(); var delegatePropertiesMock = IProjectPropertiesFactory .MockWithProperty("SomeOtherProperty"); var delegateProperties = delegatePropertiesMock.Object; var delegateProvider = IProjectPropertiesProviderFactory.Create(delegateProperties); var provider = new ImplicitProjectPropertiesProvider(delegateProvider, instanceProvider, unconfiguredProject); var properties = provider.GetProperties("path/to/project.testproj", null, null); // does not call the set property on the delegated property above properties.SetPropertyValueAsync("ProjectGuid", "7259e9ef-87d1-45a5-95c6-3a8432d23776"); // verify all the setups delegatePropertiesMock.VerifyAll(); }
public TestProjectFileOrAssemblyInfoPropertiesProvider( Workspace workspace, UnconfiguredProject unconfiguredProject, Lazy <IInterceptingPropertyValueProvider, IInterceptingPropertyValueProviderMetadata> interceptingProvider = null, IProjectThreadingService threadingService = null, IProjectProperties defaultProperties = null, IProjectInstancePropertiesProvider instanceProvider = null, Func <ProjectId> getActiveProjectId = null) : base(delegatedProvider : IProjectPropertiesProviderFactory.Create(defaultProperties ?? IProjectPropertiesFactory.MockWithProperty("").Object), instanceProvider : instanceProvider ?? IProjectInstancePropertiesProviderFactory.Create(), interceptingValueProviders : interceptingProvider == null ? new[] { new Lazy <IInterceptingPropertyValueProvider, IInterceptingPropertyValueProviderMetadata>( () => IInterceptingPropertyValueProviderFactory.Create(), IInterceptingPropertyValueProviderMetadataFactory.Create("")) } : new[] { interceptingProvider }, unconfiguredProject : unconfiguredProject, getActiveProjectId : getActiveProjectId ?? (() => workspace.CurrentSolution.ProjectIds.SingleOrDefault()), workspace : workspace, threadingService : threadingService ?? IProjectThreadingServiceFactory.Create()) { Requires.NotNull(workspace, nameof(workspace)); Requires.NotNull(unconfiguredProject, nameof(unconfiguredProject)); }