You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Microsoft Visual Studio Enterprise 2022 (64-bit) - Current, version 17.1.0
What locale are you using with Bogus?
en
What is the expected behavior?
Calling Random.Double(double.MinValue, double.MaxValue) should generated a double between these constraints.
What is the actual behavior?
The method always returns Infinity.
This does not happen though when using e.g.
double.MinValue, 0
or 0, double.MaxValue.
A quick look at the Double method revealed that there is no magnitute/value limitation in line 186.
In particular, the calculation (max - min) + min causes this behavior.
Similar behavior can be reproduced for the Float and Decimal randomizers.
Please provide a stack trace.
Bogus.dll!Bogus.Randomizer.Double(double min, double max) Line 186 C#
Hi @bchavez!
Version Information
What locale are you using with Bogus?
en
What is the expected behavior?
Calling
Random.Double(double.MinValue, double.MaxValue)
should generated adouble
between these constraints.What is the actual behavior?
The method always returns
Infinity
.This does not happen though when using e.g.
double.MinValue, 0
0, double.MaxValue
.A quick look at the
Double
method revealed that there is no magnitute/value limitation in line 186.In particular, the calculation
(max - min) + min
causes this behavior.Similar behavior can be reproduced for the
Float
andDecimal
randomizers.Please provide a stack trace.
Any possible solutions?
See proposed solution in PR #429.
How do you reproduce the issue?
See above.
Do you have a unit test that can demonstrate the bug?
Added to PR #429.
Can you identify the location in Bogus' source code where the problem exists?
See above.
If the bug is confirmed, would you be willing to submit a PR?
Submitted PR #429.
The text was updated successfully, but these errors were encountered: