public void TestStringParameterWithEmptyDefault() { var xml = @"<parameterDefinition> <defaultParameterValue> <value /> </defaultParameterValue> <description>Enter a string</description> <name>STRING.1</name> <type>StringParameterDefinition</type> </parameterDefinition>"; var xDoc = XDocument.Parse(xml).Descendants().First(); var str = new StringParameter(xDoc); Assert.AreEqual(str.Name, "STRING.1"); Assert.AreEqual(str.Description, "Enter a string"); Assert.AreEqual(str.ParameterType, BuildParameterType.StringParameterDefinition); Assert.AreEqual(str.DefaultValue, String.Empty); }
private List<ParameterBase> GetBuildParameters(XDocument xDoc) { // Construct the build parameters var buildParameters = new List<ParameterBase>(); var parametersNodes = xDoc.Descendants("action").Elements("parameterDefinition"); var supportedTypes = Enum.GetNames(typeof(BuildParameterType)); foreach (var parameterNode in parametersNodes) { var type = (string)parameterNode.Element("type"); if (!supportedTypes.Contains(type)) continue; switch ((BuildParameterType)Enum.Parse(typeof(BuildParameterType), type)) { case BuildParameterType.BooleanParameterDefinition: var booleanBuildParamter = new BuildParameters.BooleanParameter(parameterNode); buildParameters.Add(booleanBuildParamter.ToParameterBase()); break; case BuildParameterType.ChoiceParameterDefinition: var choiceBuildParameter = new ChoiceParameter(parameterNode); buildParameters.Add(choiceBuildParameter.ToParameterBase()); break; case BuildParameterType.StringParameterDefinition: var stringBuildParameter = new StringParameter(parameterNode); buildParameters.Add(stringBuildParameter.ToParameterBase()); break; } } return buildParameters; }