summaryrefslogtreecommitdiff
path: root/test/ruby/test_rand.rb
diff options
context:
space:
mode:
authormrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-04-24 22:27:39 +0000
committermrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-04-24 22:27:39 +0000
commit2aeb3b47ee47443fa5531bfce856aa1df269a740 (patch)
tree298e51d5e62572f849b62444d706f22728a9abbc /test/ruby/test_rand.rb
parent03697bc1f3112b7a57ab016c98cd745f5af6b0e9 (diff)
* random.c (random_s_rand, Init_Random): Random.rand should behave as
Random::DEFAULT.rand rather than Kernel#rand. * random.c (rand_range, random_rand): rand_range function extracted from random_rand function. * random.c (rb_f_rand): accept a Range argument as Random#rand [ruby-dev:43427] #4605 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_rand.rb')
-rw-r--r--test/ruby/test_rand.rb18
1 files changed, 16 insertions, 2 deletions
diff --git a/test/ruby/test_rand.rb b/test/ruby/test_rand.rb
index b3dc6959c7..9ba38f399c 100644
--- a/test/ruby/test_rand.rb
+++ b/test/ruby/test_rand.rb
@@ -347,19 +347,33 @@ END
end
def test_random_range
+ srand(0)
r = Random.new(0)
- %w(9 5 8).each {|w| assert_equal(w.to_i, r.rand(5..9)) }
- %w(-237 731 383).each {|w| assert_equal(w.to_i, r.rand(-1000..1000)) }
+ %w(9 5 8).each {|w|
+ assert_equal(w.to_i, rand(5..9))
+ assert_equal(w.to_i, r.rand(5..9))
+ }
+ %w(-237 731 383).each {|w|
+ assert_equal(w.to_i, rand(-1000..1000))
+ assert_equal(w.to_i, r.rand(-1000..1000))
+ }
%w(1267650600228229401496703205382
1267650600228229401496703205384
1267650600228229401496703205383).each do |w|
+ assert_equal(w.to_i, rand(2**100+5..2**100+9))
assert_equal(w.to_i, r.rand(2**100+5..2**100+9))
end
+
+ v = rand(3.1..4)
+ assert_instance_of(Float, v, '[ruby-core:24679]')
+ assert_include(3.1..4, v)
+
v = r.rand(3.1..4)
assert_instance_of(Float, v, '[ruby-core:24679]')
assert_include(3.1..4, v)
now = Time.now
+ assert_equal(now, rand(now..now))
assert_equal(now, r.rand(now..now))
end