Skip to content

Commit cf868a3

Browse files
Merge pull request #78 from skoba/better_range
A proposal to better random number generation #62
2 parents 6e3ad3e + 293bab1 commit cf868a3

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

lib/forgery/extensions/range.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def unextend
99
def random
1010
Integer(first) && Integer(last)
1111
raise ArgumentError if first > last
12-
Kernel.rand(last - first + (exclude_end? ? 0 : 1)) + first
12+
Random.rand self
1313
rescue ArgumentError
1414
Forgery::Extend(to_a).random
1515
end

spec/extensions/range_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
end
2828

2929
it "should not return the maximum at excluded range" do
30-
expect(Kernel).to receive(:rand).with(9).and_return(8)
31-
expect(Forgery::Extend(0...9).random).not_to be_equal 9
30+
Random.should_receive(:rand).with(0...9).and_return(8)
31+
Forgery::Extend(0...9).random.should_not be_equal 9
3232
end
3333
end

0 commit comments

Comments
 (0)