protected getDefaultValue()

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