public static async Task SetPropertyAsync_ExistingProperties() { var postbuildEventProjectProperties = IProjectPropertiesFactory.MockWithPropertyAndValue("PostBuildEvent", "echo $(ProjectDir)").Object; var success = await systemUnderTest.TrySetPropertyAsync(@"echo ""post build $(OutDir)""", postbuildEventProjectProperties); Assert.True(success); var expected = @"echo ""post build $(OutDir)"""; var actual = await postbuildEventProjectProperties.GetUnevaluatedPropertyValueAsync("PostBuildEvent"); Assert.Equal(expected, actual); }
public void Constructor_NullUnconfiguredProject_ThrowsArgumentNullException() { var delegatePropertiesMock = IProjectPropertiesFactory .MockWithPropertyAndValue("ProjectGuid", "7259e9ef-87d1-45a5-95c6-3a8432d23776"); var delegateProperties = delegatePropertiesMock.Object; var delegateProvider = IProjectPropertiesProviderFactory.Create(delegateProperties); Assert.Throws <ArgumentNullException>("unconfiguredProject", () => { new ImplicitProjectPropertiesProvider(delegateProvider, IProjectInstancePropertiesProviderFactory.Create(), null); }); }
public void Constructor_NullDelegatedInstanceProvider_ThrowsArgumentNullException() { var delegatePropertiesMock = IProjectPropertiesFactory .MockWithPropertyAndValue("ProjectGuid", "7259e9ef-87d1-45a5-95c6-3a8432d23776"); var delegateProperties = delegatePropertiesMock.Object; var delegateProvider = IProjectPropertiesProviderFactory.Create(delegateProperties); var unconfiguredProject = IUnconfiguredProjectFactory.Create(); Assert.Throws <ArgumentNullException>("instanceProvider", () => { new ImplicitProjectPropertiesProvider(delegateProvider, null, new ImplicitProjectPropertiesStore <string, string>(unconfiguredProject), unconfiguredProject); }); }
public void Provider_ReturnsImplicitPropertyProvider() { var unconfiguredProject = IUnconfiguredProjectFactory.Create(); var instanceProvider = IProjectInstancePropertiesProviderFactory.ImplementsGetItemTypeProperties(); var delegatePropertiesMock = IProjectPropertiesFactory .MockWithPropertyAndValue("Something", "NotImportant"); var delegateProperties = delegatePropertiesMock.Object; var delegateProvider = IProjectPropertiesProviderFactory.Create(delegateProperties); var propertyStore = new ImplicitProjectPropertiesStore <string, string>(unconfiguredProject); var provider = new ImplicitProjectPropertiesProvider(delegateProvider, instanceProvider, propertyStore, unconfiguredProject); var properties = provider.GetItemTypeProperties(null, ""); properties.SetPropertyValueAsync("ProjectGuid", "7259e9ef-87d1-45a5-95c6-3a8432d23776"); Assert.Equal("7259e9ef-87d1-45a5-95c6-3a8432d23776", properties.GetEvaluatedPropertyValueAsync("ProjectGuid").Result); }
public static async Task SetPropertyTest_ExistingProperties() { var root = @"<Project Sdk=""Microsoft.NET.Sdk""> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp1.1</TargetFramework> <PreBuildEvent>echo $(ProjectDir)</PreBuildEvent> <PostBuildEvent>echo $(ProjectDir)</PostBuildEvent> </PropertyGroup> </Project>".AsProjectRootElement(); var prebuildEventProjectProperties = IProjectPropertiesFactory.MockWithPropertyAndValue("PreBuildEvent", "echo $(ProjectDir)").Object; await systemUnderTest.SetPropertyAsync(@"echo ""post build $(OutDir)""", prebuildEventProjectProperties, root); var expected = @"echo ""post build $(OutDir)"""; var actual = await prebuildEventProjectProperties.GetUnevaluatedPropertyValueAsync("PreBuildEvent"); Assert.Equal(expected, actual); }
public void Provider_SetsPropertyIfPresent() { var unconfiguredProject = IUnconfiguredProjectFactory.Create(); var instanceProvider = IProjectInstancePropertiesProviderFactory.Create(); var delegatePropertiesMock = IProjectPropertiesFactory .MockWithPropertyAndValue("ProjectGuid", "7259e9ef-87d1-45a5-95c6-3a8432d23776"); 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); // calls delegate above with matching values properties.SetPropertyValueAsync("ProjectGuid", "7259e9ef-87d1-45a5-95c6-3a8432d23776"); // verify all the setups delegatePropertiesMock.Verify(p => p.SetPropertyValueAsync("ProjectGuid", "7259e9ef-87d1-45a5-95c6-3a8432d23776", null)); }