public void AppendWorksWithNull() { IndentedStringBuilder sb = new IndentedStringBuilder(); var expected = ""; var result = sb.Indent().Append(null); Assert.Equal(expected, result.ToString()); }
public void AppendDoesNotAddIndentation(string input) { IndentedStringBuilder sb = new IndentedStringBuilder(); var expected = input; var result = sb.Indent().Append(input); Assert.Equal(expected, result.ToString()); }
protected override void TransformPagingGroupedParameter(IndentedStringBuilder builder, AzureMethodTemplateModel nextMethod, bool filterRequired = false) { if (this.InputParameterTransformation.IsNullOrEmpty()) { return; } var groupedType = this.InputParameterTransformation.First().ParameterMappings[0].InputParameter; var nextGroupType = nextMethod.InputParameterTransformation.First().ParameterMappings[0].InputParameter; if (nextGroupType.Name == groupedType.Name) { return; } var nextGroupTypeName = _namer.GetTypeName(nextGroupType.Name) + "Inner"; if (filterRequired && !nextGroupType.IsRequired) { return; } if (!groupedType.IsRequired) { builder.AppendLine("{0} {1} = null;", nextGroupTypeName, nextGroupType.Name.ToCamelCase()); builder.AppendLine("if ({0} != null) {{", groupedType.Name.ToCamelCase()); builder.Indent(); builder.AppendLine("{0} = new {1}();", nextGroupType.Name.ToCamelCase(), nextGroupTypeName); } else { builder.AppendLine("{1} {0} = new {1}();", nextGroupType.Name.ToCamelCase(), nextGroupTypeName); } foreach (var outParam in nextMethod.InputParameterTransformation.Select(t => t.OutputParameter)) { builder.AppendLine("{0}.with{1}({2}.{3}());", nextGroupType.Name.ToCamelCase(), outParam.Name.ToPascalCase(), groupedType.Name.ToCamelCase(), outParam.Name.ToCamelCase()); } if (!groupedType.IsRequired) { builder.Outdent().AppendLine(@"}"); } }
private static IndentedStringBuilder ConstructValidationCheck(IndentedStringBuilder builder, string errorMessage, string valueReference, string typeName) { var escapedValueReference = valueReference.EscapeSingleQuotes(); var lowercaseTypeName = typeName.ToLower(CultureInfo.InvariantCulture); return builder.Indent() .AppendLine(errorMessage, escapedValueReference, lowercaseTypeName) .Outdent() .AppendLine("}"); }
private void TransformPagingGroupedParameter(IndentedStringBuilder builder, AzureMethodTemplateModel nextMethod) { if (this.InputParameterTransformation.IsNullOrEmpty()) { return; } var groupedType = this.InputParameterTransformation.FirstOrDefault().ParameterMappings[0].InputParameter; var nextGroupType = nextMethod.InputParameterTransformation.FirstOrDefault().ParameterMappings[0].InputParameter; if (nextGroupType.Name == groupedType.Name) { return; } if (!groupedType.IsRequired) { builder.AppendLine("{0} {1} = null;", nextGroupType.Name.ToPascalCase(), nextGroupType.Name.ToCamelCase()); builder.AppendLine("if ({0} != null) {{", groupedType.Name.ToCamelCase()); builder.Indent(); builder.AppendLine("{0} = new {1}();", nextGroupType.Name.ToCamelCase(), nextGroupType.Name.ToPascalCase()); } else { builder.AppendLine("{1} {0} = new {1}();", nextGroupType.Name.ToCamelCase(), nextGroupType.Name.ToPascalCase()); } foreach (var outParam in nextMethod.InputParameterTransformation.Select(t => t.OutputParameter)) { builder.AppendLine("{0}.set{1}({2}.get{1}());", nextGroupType.Name.ToCamelCase(), outParam.Name.ToPascalCase(), groupedType.Name.ToCamelCase()); } if (!groupedType.IsRequired) { builder.Outdent().AppendLine(@"}"); } }