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;
        }
 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;
 }
        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))));
        }