public void PropertiesTest1() { var projects = new Dictionary <string, RawText>() { ["{12B25935-229F-4128-B66B-7561A77ABC54}"] = new RawText(PrjSamplesResource.snet) }; using (var sln = new Sln(SlnItems.EnvWithProjects, new RawText(SlnSamplesResource.regXwild), projects)) { IXProject project = sln.Result.Env.Projects.FirstOrDefault(); Assert.AreEqual(null, project.GetProperty("NOT_REAL_PROPERTY").name); Assert.AreEqual("MyProperty1", project.SetProperty("MyProperty1", "Value1").name); Assert.AreEqual("Value1", project.GetProperty("MyProperty1").evaluatedValue); Assert.AreEqual(false, project.RemoveProperty("NOT_REAL_PROPERTY_2")); Assert.AreEqual(true, project.RemoveProperty("MyProperty1")); Assert.AreEqual(null, project.GetProperty("MyProperty1").name); } }
public void PropertiesTest3() { var projects = new Dictionary <string, RawText>() { ["{12B25935-229F-4128-B66B-7561A77ABC54}"] = new RawText(PrjSamplesResource.snet) }; using (var sln = new Sln(SlnItems.EnvWithProjects, new RawText(SlnSamplesResource.regXwild), projects)) { IXProject project = sln.Result.Env.Projects.FirstOrDefault(); var prop = project.GetProperty("Platform", true); Assert.Null(prop.name); Assert.Null(prop.unevaluatedValue); Assert.Null(prop.evaluatedValue); Assert.Null(prop.parentProperty); Assert.NotNull(prop.parentProject); } }
/// <summary> /// To get unevaluated property value with global scope by default. /// </summary> /// <param name="xp"></param> /// <param name="name">The name of the property.</param> /// <param name="localScope">If true, will return default value for any special and imported properties type.</param> /// <returns>The unevaluated property value, which is never null.</returns> public static string GetUnevaluatedPropertyValue(this IXProject xp, string name, bool localScope = false) { return(xp?.GetProperty(name, localScope).unevaluatedValue); }