public void NotAllowedIndexForParametersArray() { var parametersClass = new Parameters(); var parameter = new Parameter(); parameter.Value = "dd"; var parameters = new Parameter[] { parameter }; Assert.AreEqual(null, parametersClass.EmptyIfNotAllowedIndex(parameters, 1).Value); }
public bool ParametersAreValid(string parameterType, Parameter[] inputParameters) { var definitionParameters = parameterType == "mandatory" ? Mandatory() : Optional(); int startIndex = parameterType == "mandatory" ? 0 : MandatoryLength(); for (int i = 0; i < definitionParameters.Length; i++) { Parameter currentInputParameter = EmptyIfNotAllowedIndex(inputParameters, i + startIndex); if (currentInputParameter.Name == null && currentInputParameter.Value == null) break; if (DifferentRequireName(definitionParameters[i], currentInputParameter)) return false; } return true; }
private void AssignIf(Parameter parameter, string paramName, ref string valueToAssign) { if (parameter.Name == paramName) valueToAssign = parameter.Value; }
private bool DifferentRequireName(Parameter currentDefinitionParameter, Parameter currentInputParameter) { if (currentDefinitionParameter.RequireName != currentInputParameter.RequireName) { return true; } else if (currentDefinitionParameter.RequireName) { if (NotInList(currentInputParameter.Name)) { return true; } } return false; }
public Parameter EmptyIfNotAllowedIndex(Parameter[] parameters, int index) { return parameters.Length > index ? parameters[index] : new Parameter(); }
private void PopulateParameter(ref Parameter[] parameters, Parameter parameterToAdd) { parameters[parameters.Length - 1] = parameterToAdd; }
private void ExtractMandatoryAndOptional() { var current = string.Empty; bool isOptional = false; bool endOfIsOptional = false; Parameter parameterToAdd; for (var i = 0; i < parameters.Length; i++) { parameterToAdd = new Parameter(); current = parameters[i]; if (current.Length > 2) { if (current.Substring(0, 1) == "(") { isOptional = true; current = current.Substring(1); } if (current.Substring(0, 2) == "--") { parameterToAdd.RequireName = true; parameterToAdd.Name = current.Substring(2); i++; if (parameters.Length > i) { current = parameters[i]; } else { current = string.Empty; } } else { parameterToAdd.RequireName = false; parameterToAdd.Name = string.Empty; } if (current.Length > 0) { if (current.Substring(current.Length - 1, 1) == ")") { current = current.Substring(0, current.Length - 1); endOfIsOptional = true; } if (current.Substring(0, 1) == "<" && current.Substring(current.Length - 1, 1) == ">") { current = current.Substring(1, current.Length - 2); } } } if (parameterToAdd.Name == string.Empty) parameterToAdd.Name = current; parameterToAdd.Value = current; if (!isOptional) { Array.Resize(ref mandatoryParameters, mandatoryParameters.Length + 1); PopulateParameter(ref mandatoryParameters, parameterToAdd); } else { Array.Resize(ref optionalParameters, optionalParameters.Length + 1); PopulateParameter(ref optionalParameters, parameterToAdd); } if (endOfIsOptional) { isOptional = false; endOfIsOptional = false; } } }