in packages/autorest.gotest/src/generator/mockTestGenerator.ts [277:321]
protected getDefaultValue(param: Parameter | ExampleValue, isPtr: boolean, elemByVal = false): string {
if (isPtr) {
return 'nil';
} else {
switch (param.schema.type) {
case SchemaType.Char:
case SchemaType.String:
case SchemaType.Constant:
case SchemaType.Uuid:
return '"<' + Helper.toKebabCase(this.getLanguageName(param)) + '>"';
case SchemaType.Array: {
const elementIsPtr = param.schema.language.go.elementIsPtr && !elemByVal;
const elementPtr = elementIsPtr ? '*' : '';
let elementTypeName = this.getLanguageName((<ArraySchema>param.schema).elementType);
const polymophismName = (<ArraySchema>param.schema).elementType.language.go.discriminatorInterface;
if (polymophismName) {
elementTypeName = polymophismName;
}
return `[]${elementPtr}${GoHelper.addPackage(elementTypeName, this.context.packageName)}{}`;
}
case SchemaType.Dictionary: {
const elementPtr = param.schema.language.go.elementIsPtr ? '*' : '';
const elementTypeName = this.getLanguageName((<DictionarySchema>param.schema).elementType);
return `map[string]${elementPtr}${GoHelper.addPackage(elementTypeName, this.context.packageName)}{}`;
}
case SchemaType.Boolean:
return 'false';
case SchemaType.Integer:
case SchemaType.Number:
return '0';
case SchemaType.Object:
if (isPtr) {
return `&${this.context.packageName + '.'}${this.getLanguageName(param.schema)}{}`;
} else {
return `${this.context.packageName + '.'}${this.getLanguageName(param.schema)}{}`;
}
case SchemaType.AnyObject:
return 'nil';
case SchemaType.Any:
return 'nil';
default:
return '';
}
}
}