private void GenerateStep(CodeMemberMethod testMethod, ScenarioStep scenarioStep, ParameterSubstitution paramToIdentifier) { var testRunnerField = GetTestRunnerExpression(); //testRunner.Given("something"); List <CodeExpression> arguments = new List <CodeExpression>(); arguments.Add( GetSubstitutedString(scenarioStep.Text, paramToIdentifier)); if (scenarioStep.MultiLineTextArgument != null || scenarioStep.TableArg != null) { AddLineDirectiveHidden(testMethod.Statements); arguments.Add( GetMultilineTextArgExpression(scenarioStep.MultiLineTextArgument, paramToIdentifier)); arguments.Add( GetTableArgExpression(scenarioStep.TableArg, testMethod.Statements, paramToIdentifier)); } AddLineDirective(testMethod.Statements, scenarioStep); testMethod.Statements.Add( new CodeMethodInvokeExpression( testRunnerField, scenarioStep.GetType().Name, arguments.ToArray())); }