private static string GetScenarioDisplayName( string scenarioOutlineDisplayName, IReadOnlyList <ITypeInfo> typeArguments, IReadOnlyList <IParameterInfo> parameters, IReadOnlyList <Argument> arguments) { var typeArgumentsString = typeArguments.Any() ? $"<{string.Join(", ", typeArguments.Select(typeArgument => TypeUtility.ConvertToSimpleTypeName(typeArgument)))}>" : string.Empty; var parameterAndArgumentTokens = new List <string>(); int parameterIndex; for (parameterIndex = 0; parameterIndex < arguments.Count; parameterIndex++) { if (arguments[parameterIndex].IsGeneratedDefault) { continue; } parameterAndArgumentTokens.Add(string.Concat( parameterIndex >= parameters.Count ? "???" : parameters[parameterIndex].Name, ": ", arguments[parameterIndex].ToString())); } for (; parameterIndex < parameters.Count; parameterIndex++) { parameterAndArgumentTokens.Add(parameters[parameterIndex].Name + ": ???"); } return($"{scenarioOutlineDisplayName}{typeArgumentsString}({string.Join(", ", parameterAndArgumentTokens)})"); }