diff options
author | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-04-24 22:27:39 +0000 |
---|---|---|
committer | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-04-24 22:27:39 +0000 |
commit | 2aeb3b47ee47443fa5531bfce856aa1df269a740 (patch) | |
tree | 298e51d5e62572f849b62444d706f22728a9abbc /test/ruby/test_rand.rb | |
parent | 03697bc1f3112b7a57ab016c98cd745f5af6b0e9 (diff) | |
download | ruby-2aeb3b47ee47443fa5531bfce856aa1df269a740.tar.gz |
* 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.rb | 18 |
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 |