forked from loafle/openapi-generator-original
add double enum support to C#
This commit is contained in:
parent
a7ca0ad11f
commit
2942ef8b73
@ -402,9 +402,9 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
|
|||||||
if ("int?".equals(datatype) || "long?".equals(datatype) ||
|
if ("int?".equals(datatype) || "long?".equals(datatype) ||
|
||||||
"double?".equals(datatype) || "float?".equals(datatype)) {
|
"double?".equals(datatype) || "float?".equals(datatype)) {
|
||||||
String varName = "NUMBER_" + value;
|
String varName = "NUMBER_" + value;
|
||||||
varName = varName.replaceAll("-", "MINUS");
|
varName = varName.replaceAll("-", "MINUS_");
|
||||||
varName = varName.replaceAll("\\+", "PLUS");
|
varName = varName.replaceAll("\\+", "PLUS_");
|
||||||
varName = varName.replaceAll("\\.", "DOT");
|
varName = varName.replaceAll("\\.", "_DOT_");
|
||||||
return varName;
|
return varName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,10 +52,30 @@ namespace IO.Swagger.Model
|
|||||||
NUMBER_1 = 1,
|
NUMBER_1 = 1,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enum NUMBER_MINUS1 for -1
|
/// Enum NUMBER_MINUS_1 for -1
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[EnumMember(Value = "-1")]
|
[EnumMember(Value = "-1")]
|
||||||
NUMBER_MINUS1 = -1
|
NUMBER_MINUS_1 = -1
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or Sets EnumNumber
|
||||||
|
/// </summary>
|
||||||
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
|
public enum EnumNumberEnum
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enum NUMBER_1_DOT_1 for 1.1
|
||||||
|
/// </summary>
|
||||||
|
[EnumMember(Value = "1.1")]
|
||||||
|
NUMBER_1_DOT_1,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enum NUMBER_MINUS_1_DOT_2 for -1.2
|
||||||
|
/// </summary>
|
||||||
|
[EnumMember(Value = "-1.2")]
|
||||||
|
NUMBER_MINUS_1_DOT_2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -71,6 +91,12 @@ namespace IO.Swagger.Model
|
|||||||
[DataMember(Name="enum_integer", EmitDefaultValue=false)]
|
[DataMember(Name="enum_integer", EmitDefaultValue=false)]
|
||||||
public EnumIntegerEnum? EnumInteger { get; set; }
|
public EnumIntegerEnum? EnumInteger { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or Sets EnumNumber
|
||||||
|
/// </summary>
|
||||||
|
[DataMember(Name="enum_number", EmitDefaultValue=false)]
|
||||||
|
public EnumNumberEnum? EnumNumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="EnumTest" /> class.
|
/// Initializes a new instance of the <see cref="EnumTest" /> class.
|
||||||
/// Initializes a new instance of the <see cref="EnumTest" />class.
|
/// Initializes a new instance of the <see cref="EnumTest" />class.
|
||||||
@ -79,7 +105,7 @@ namespace IO.Swagger.Model
|
|||||||
/// <param name="EnumInteger">EnumInteger.</param>
|
/// <param name="EnumInteger">EnumInteger.</param>
|
||||||
/// <param name="EnumNumber">EnumNumber.</param>
|
/// <param name="EnumNumber">EnumNumber.</param>
|
||||||
|
|
||||||
public EnumTest(EnumStringEnum? EnumString = null, EnumIntegerEnum? EnumInteger = null, double? EnumNumber = null)
|
public EnumTest(EnumStringEnum? EnumString = null, EnumIntegerEnum? EnumInteger = null, EnumNumberEnum? EnumNumber = null)
|
||||||
{
|
{
|
||||||
this.EnumString = EnumString;
|
this.EnumString = EnumString;
|
||||||
this.EnumInteger = EnumInteger;
|
this.EnumInteger = EnumInteger;
|
||||||
@ -88,12 +114,6 @@ namespace IO.Swagger.Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or Sets EnumNumber
|
|
||||||
/// </summary>
|
|
||||||
[DataMember(Name="enum_number", EmitDefaultValue=false)]
|
|
||||||
public double? EnumNumber { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns the string presentation of the object
|
/// Returns the string presentation of the object
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1,27 +1,14 @@
|
|||||||
<Properties StartupItem="SwaggerClientTest.csproj">
|
<Properties StartupItem="SwaggerClientTest.csproj">
|
||||||
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
|
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
|
||||||
<MonoDevelop.Ide.Workbench ActiveDocument="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/EnumClass.cs">
|
<MonoDevelop.Ide.Workbench ActiveDocument="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Order.cs">
|
||||||
<Files>
|
<Files>
|
||||||
<File FileName="TestPet.cs" Line="23" Column="17" />
|
<File FileName="TestPet.cs" Line="1" Column="1" />
|
||||||
<File FileName="TestOrder.cs" Line="1" Column="1" />
|
<File FileName="TestOrder.cs" Line="1" Column="1" />
|
||||||
<File FileName="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/EnumTest.cs" Line="1" Column="1" />
|
<File FileName="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/EnumTest.cs" Line="1" Column="1" />
|
||||||
<File FileName="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Order.cs" Line="1" Column="1" />
|
<File FileName="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/Order.cs" Line="71" Column="57" />
|
||||||
<File FileName="TestEnum.cs" Line="30" Column="36" />
|
<File FileName="TestEnum.cs" Line="24" Column="12" />
|
||||||
<File FileName="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/EnumClass.cs" Line="31" Column="13" />
|
<File FileName="Lib/SwaggerClient/src/main/csharp/IO/Swagger/Model/EnumClass.cs" Line="1" Column="1" />
|
||||||
</Files>
|
</Files>
|
||||||
<Pads>
|
|
||||||
<Pad Id="MonoDevelop.NUnit.TestPad">
|
|
||||||
<State name="__root__">
|
|
||||||
<Node name="SwaggerClientTest" expanded="True">
|
|
||||||
<Node name="SwaggerClientTest" expanded="True">
|
|
||||||
<Node name="SwaggerClientTest" expanded="True">
|
|
||||||
<Node name="TestEnum" expanded="True" selected="True" />
|
|
||||||
</Node>
|
|
||||||
</Node>
|
|
||||||
</Node>
|
|
||||||
</State>
|
|
||||||
</Pad>
|
|
||||||
</Pads>
|
|
||||||
</MonoDevelop.Ide.Workbench>
|
</MonoDevelop.Ide.Workbench>
|
||||||
<MonoDevelop.Ide.DebuggingService.Breakpoints>
|
<MonoDevelop.Ide.DebuggingService.Breakpoints>
|
||||||
<BreakpointStore />
|
<BreakpointStore />
|
||||||
|
@ -28,10 +28,10 @@ namespace SwaggerClientTest.TestEnum
|
|||||||
Assert.AreEqual (Newtonsoft.Json.JsonConvert.SerializeObject(EnumClass.Abc), "\"_abc\"");
|
Assert.AreEqual (Newtonsoft.Json.JsonConvert.SerializeObject(EnumClass.Abc), "\"_abc\"");
|
||||||
|
|
||||||
// test serialization for number
|
// test serialization for number
|
||||||
Assert.AreEqual (Newtonsoft.Json.JsonConvert.SerializeObject(EnumTest.EnumIntegerEnum.NUMBER_MINUS1), "\"-1\"");
|
Assert.AreEqual (Newtonsoft.Json.JsonConvert.SerializeObject(EnumTest.EnumIntegerEnum.NUMBER_MINUS_1), "\"-1\"");
|
||||||
|
|
||||||
// test cast to int
|
// test cast to int
|
||||||
Assert.AreEqual ((int)EnumTest.EnumIntegerEnum.NUMBER_MINUS1, -1);
|
Assert.AreEqual ((int)EnumTest.EnumIntegerEnum.NUMBER_MINUS_1, -1);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user