private void ValidateFloat(JsonSchemaModel schema)
{
if (schema == null)
{
return;
}
if (!this.TestType(schema, JsonSchemaType.Float))
{
return;
}
this.ValidateInEnumAndNotDisallowed(schema);
double num = Convert.ToDouble(this._reader.Value, CultureInfo.InvariantCulture);
if (schema.Maximum != null)
{
if (num > schema.Maximum)
{
this.RaiseError("Float {0} exceeds maximum value of {1}.".FormatWith(CultureInfo.InvariantCulture, new object[]
{
JsonConvert.ToString(num),
schema.Maximum
}), schema);
}
if (schema.ExclusiveMaximum && num == schema.Maximum)
{
this.RaiseError("Float {0} equals maximum value of {1} and exclusive maximum is true.".FormatWith(CultureInfo.InvariantCulture, new object[]
{
JsonConvert.ToString(num),
schema.Maximum
}), schema);
}
}
if (schema.Minimum != null)
{
if (num < schema.Minimum)
{
this.RaiseError("Float {0} is less than minimum value of {1}.".FormatWith(CultureInfo.InvariantCulture, new object[]
{
JsonConvert.ToString(num),
schema.Minimum
}), schema);
}
if (schema.ExclusiveMinimum && num == schema.Minimum)
{
this.RaiseError("Float {0} equals minimum value of {1} and exclusive minimum is true.".FormatWith(CultureInfo.InvariantCulture, new object[]
{
JsonConvert.ToString(num),
schema.Minimum
}), schema);
}
}
if (schema.DivisibleBy != null && !JsonValidatingReader.IsZero(num % schema.DivisibleBy.Value))
{
this.RaiseError("Float {0} is not evenly divisible by {1}.".FormatWith(CultureInfo.InvariantCulture, new object[]
{
JsonConvert.ToString(num),
schema.DivisibleBy
}), schema);
}
}