diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-04-19 15:18:57 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-04-19 15:18:57 +0000 |
commit | d658a8d56802b9d20b666bbc08fa12b2050b2f93 (patch) | |
tree | 3b1e2dd33873e0333997c431af2402c22a014594 /test | |
parent | db1bdecb0d925b4668c0735158fce466333848f1 (diff) |
range.c: Make Range#bsearch support endless ranges
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_range.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/ruby/test_range.rb b/test/ruby/test_range.rb index 143842bcb4..84319d7d42 100644 --- a/test/ruby/test_range.rb +++ b/test/ruby/test_range.rb @@ -581,6 +581,8 @@ class TestRange < Test::Unit::TestCase ary = [0, 100, 100, 100, 200] assert_equal(1, (0...ary.size).bsearch {|i| ary[i] >= 100 }) + + assert_equal(1_000_001, (0...).bsearch {|i| i > 1_000_000 }) end def test_bsearch_for_float @@ -632,6 +634,8 @@ class TestRange < Test::Unit::TestCase assert_in_delta(1.0, (0.0..inf).bsearch {|x| Math.log(x) >= 0 }) assert_in_delta(7.0, (0.0..10).bsearch {|x| 7.0 - x }) + + assert_equal(1_000_000.0.next_float, (0.0..).bsearch {|x| x > 1_000_000 }) end def check_bsearch_values(range, search, a) @@ -733,6 +737,7 @@ class TestRange < Test::Unit::TestCase assert_equal(nil, (bignum...bignum+ary.size).bsearch {|i| ary[i - bignum] >= 100 }) assert_equal(bignum + 0, (bignum...bignum+ary.size).bsearch {|i| true }) assert_equal(nil, (bignum...bignum+ary.size).bsearch {|i| false }) + assert_equal(bignum * 2 + 1, (bignum...).bsearch {|i| i > bignum * 2 }) assert_raise(TypeError) { ("a".."z").bsearch {} } end |