예제 #1
0
        private void BuildStepMethodCall(NodeStep step, NodeExamples examples, int exampleIndex)
        {
            // if we have rows and first time thru scenario outline
            if (step.Rows.Count > 0 && exampleIndex == 1) // TODO: remove exampleIndex == 1 if parameterizing table arguments
            {
                _tableNumberInScenario++;

                // TODO: could pass in NodeExamples examples to support parameterizing table arguments
                BuildTestDataTable(step.Rows, Contents);
            }

            Contents.Add(string.Format("\t\t{0};", LanguageConfig.StepMethod(step.Name, BuildParameterString(step.Parameters, step.Rows, examples, exampleIndex))));
        }
예제 #2
0
        private string BuildParameterString(List <Parameter> parameters, List <string[]> rows, NodeExamples examples, int exampleIndex)
        {
            string retstr;

            if (rows.Count > 0)
            {
                if (parameters.Count > 0)
                {
                    retstr = string.Format("table{0},{1},{2},{3}", _tableNumberInScenario, rows.Count, rows[0].Length, BuildParameterStringFromStepParameters(parameters, examples, exampleIndex));
                }
                else
                {
                    retstr = string.Format("table{0},{1},{2}", _tableNumberInScenario, rows.Count, rows[0].Length);
                }
            }
            else
            {
                retstr = BuildParameterStringFromStepParameters(parameters, examples, exampleIndex);
            }
            return(retstr);
        }
예제 #3
0
        private static string BuildParameterStringFromStepParameters(List <Parameter> parameters, NodeExamples examples, int exampleIndex)
        {
            string parameterString = string.Empty;

            foreach (var parameter in parameters)
            {
                string parameterType  = parameter.Type;
                string parameterValue = parameter.Value;

                if (parameter.IsFromExampleTable)
                {
                    int index = examples.GetIndexOfParameter(parameter.Value);
                    if (index >= 0)
                    {
                        parameterType  = "string";
                        parameterValue = examples.Rows[exampleIndex][index];
                    }
                }

                if (parameterString != string.Empty)
                {
                    parameterString += ", ";
                }
                if (parameterType == "string")
                {
                    parameterString += string.Format("\"{0}\"", parameterValue);
                }
                else
                {
                    parameterString += parameterValue;
                }
            }
            return(parameterString);
        }