diff --git a/src/LEGO.AsyncAPI.Readers/V2/AsyncApiSchemaDeserializer.cs b/src/LEGO.AsyncAPI.Readers/V2/AsyncApiSchemaDeserializer.cs
index b99fdef8..1934cb0d 100644
--- a/src/LEGO.AsyncAPI.Readers/V2/AsyncApiSchemaDeserializer.cs
+++ b/src/LEGO.AsyncAPI.Readers/V2/AsyncApiSchemaDeserializer.cs
@@ -61,7 +61,10 @@ public class JsonSchemaDeserializer
}
},
{
- "exclusiveMaximum", (a, n) => { a.ExclusiveMaximum = bool.Parse(n.GetScalarValue()); }
+ "exclusiveMaximum", (a, n) =>
+ {
+ a.ExclusiveMaximum = double.Parse(n.GetScalarValue(), NumberStyles.Float, n.Context.Settings.CultureInfo);
+ }
},
{
"minimum",
@@ -71,7 +74,10 @@ public class JsonSchemaDeserializer
}
},
{
- "exclusiveMinimum", (a, n) => { a.ExclusiveMinimum = bool.Parse(n.GetScalarValue()); }
+ "exclusiveMinimum", (a, n) =>
+ {
+ a.ExclusiveMinimum = double.Parse(n.GetScalarValue(), NumberStyles.Float, n.Context.Settings.CultureInfo);
+ }
},
{
"maxLength", (a, n) => { a.MaxLength = int.Parse(n.GetScalarValue(), n.Context.Settings.CultureInfo); }
diff --git a/src/LEGO.AsyncAPI/Models/AsyncApiSchema.cs b/src/LEGO.AsyncAPI/Models/AsyncApiSchema.cs
index 3244017b..0931c953 100644
--- a/src/LEGO.AsyncAPI/Models/AsyncApiSchema.cs
+++ b/src/LEGO.AsyncAPI/Models/AsyncApiSchema.cs
@@ -42,7 +42,7 @@ public class AsyncApiSchema : IAsyncApiReferenceable, IAsyncApiExtensible, IAsyn
///
/// follow JSON Schema definition: https://json-schema.org/draft-07/json-schema-release-notes.html.
///
- public bool? ExclusiveMaximum { get; set; }
+ public double? ExclusiveMaximum { get; set; }
///
/// follow JSON Schema definition: https://json-schema.org/draft-07/json-schema-release-notes.html.
@@ -52,7 +52,7 @@ public class AsyncApiSchema : IAsyncApiReferenceable, IAsyncApiExtensible, IAsyn
///
/// follow JSON Schema definition: https://json-schema.org/draft-07/json-schema-release-notes.html.
///
- public bool? ExclusiveMinimum { get; set; }
+ public double? ExclusiveMinimum { get; set; }
///
/// follow JSON Schema definition: https://json-schema.org/draft-07/json-schema-release-notes.html.
diff --git a/test/LEGO.AsyncAPI.Tests/Models/AsyncApiSchema_Should.cs b/test/LEGO.AsyncAPI.Tests/Models/AsyncApiSchema_Should.cs
index 830a44bc..ec7c023f 100644
--- a/test/LEGO.AsyncAPI.Tests/Models/AsyncApiSchema_Should.cs
+++ b/test/LEGO.AsyncAPI.Tests/Models/AsyncApiSchema_Should.cs
@@ -21,7 +21,7 @@ public class AsyncApiSchema_Should : TestBase
Title = "title1",
MultipleOf = 3,
Maximum = 42,
- ExclusiveMinimum = true,
+ ExclusiveMinimum = 42,
Minimum = 10,
Default = new AsyncApiAny(15),
Type = SchemaType.Integer,
@@ -37,7 +37,7 @@ public class AsyncApiSchema_Should : TestBase
Title = "title1",
MultipleOf = 3,
Maximum = double.MaxValue,
- ExclusiveMinimum = true,
+ ExclusiveMinimum = double.MinValue,
Minimum = double.MinValue,
Default = new AsyncApiAny(15),
Type = SchemaType.Integer,
@@ -211,7 +211,7 @@ public class AsyncApiSchema_Should : TestBase
Title = "title1",
MultipleOf = 3,
Maximum = 42,
- ExclusiveMinimum = true,
+ ExclusiveMinimum = 42,
Minimum = 10,
Default = new AsyncApiAny(15),
Type = SchemaType.Integer,
@@ -307,7 +307,7 @@ public void SerializeAsJson_WithAdvancedSchemaNumber_V2Works()
"type": "integer",
"maximum": 42,
"minimum": 10,
- "exclusiveMinimum": true,
+ "exclusiveMinimum": 42,
"multipleOf": 3,
"default": 15,
"nullable": true,
@@ -335,7 +335,7 @@ public void SerializeAsJson_WithAdvancedSchemaBigNumbers_V2Works()
"type": "integer",
"maximum": 1.7976931348623157E+308,
"minimum": -1.7976931348623157E+308,
- "exclusiveMinimum": true,
+ "exclusiveMinimum": -1.7976931348623157E+308,
"multipleOf": 3,
"default": 15,
"nullable": true,