issue2085_pydecimal_wrong_distribution_for_min_max_values_of_dif_size #2096
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixed issue 2085: if min and max values for pydecimal have different signs, faker returned only min_value for negatives
What does this change
What was wrong
When specified equal min and max values with different signs (-min and +max), then for selected '-' sign, left_number always calculated to -min value
left_number = str(self.random_int(int(max(max_value or 0, 0)), int(abs(min_value)))) # min_value is substituted with max_value as they equal by absolute value
->
left_number = str(self.random_int(int(max(max_value or 0, 0)), int(max_value)))
->
left_number = str(self.random_int(int(max_value), int(max_value)) -> max_value
How this fixes it
IF '-' sign is selected, AND min_value is specified, AND max_value is positive, max_value will be calculated as 0.
Fixes #2085