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);
 }
Example #2
0
        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;
        }
Example #3
0
 private void AssignIf(Parameter parameter, string paramName, ref string valueToAssign)
 {
     if (parameter.Name == paramName)
         valueToAssign = parameter.Value;
 }
Example #4
0
        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;
        }
Example #5
0
 public Parameter EmptyIfNotAllowedIndex(Parameter[] parameters, int index)
 {
     return parameters.Length > index ? parameters[index] : new Parameter();
 }
Example #6
0
 private void PopulateParameter(ref Parameter[] parameters, Parameter parameterToAdd)
 {
     parameters[parameters.Length - 1] = parameterToAdd;
 }
Example #7
0
        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;
                }
            }
        }