summaryrefslogtreecommitdiff
path: root/test/ruby/test_integer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_integer.rb')
-rw-r--r--test/ruby/test_integer.rb135
1 files changed, 0 insertions, 135 deletions
diff --git a/test/ruby/test_integer.rb b/test/ruby/test_integer.rb
index 2755987276..1b485760e3 100644
--- a/test/ruby/test_integer.rb
+++ b/test/ruby/test_integer.rb
@@ -10,46 +10,7 @@ class TestInteger < Test::Unit::TestCase
self.class.bdsize(x)
end
- FIXNUM_MIN = RbConfig::LIMITS['FIXNUM_MIN']
- FIXNUM_MAX = RbConfig::LIMITS['FIXNUM_MAX']
-
def test_aref
-
- [
- *-16..16,
- *(FIXNUM_MIN-2)..(FIXNUM_MIN+2),
- *(FIXNUM_MAX-2)..(FIXNUM_MAX+2),
- ].each do |n|
- (-64..64).each do |idx|
- assert_equal((n >> idx) & 1, n[idx])
- end
- [*-66..-62, *-34..-30, *-5..5, *30..34, *62..66].each do |idx|
- (0..100).each do |len|
- assert_equal((n >> idx) & ((1 << len) - 1), n[idx, len], "#{ n }[#{ idx }, #{ len }]")
- end
- (0..100).each do |len|
- assert_equal((n >> idx) & ((1 << (len + 1)) - 1), n[idx..idx+len], "#{ n }[#{ idx }..#{ idx+len }]")
- assert_equal((n >> idx) & ((1 << len) - 1), n[idx...idx+len], "#{ n }[#{ idx }...#{ idx+len }]")
- end
-
- # endless
- assert_equal((n >> idx), n[idx..], "#{ n }[#{ idx }..]")
- assert_equal((n >> idx), n[idx...], "#{ n }[#{ idx }...#]")
-
- # beginless
- if idx >= 0 && n & ((1 << (idx + 1)) - 1) != 0
- assert_raise(ArgumentError, "#{ n }[..#{ idx }]") { n[..idx] }
- else
- assert_equal(0, n[..idx], "#{ n }[..#{ idx }]")
- end
- if idx >= 0 && n & ((1 << idx) - 1) != 0
- assert_raise(ArgumentError, "#{ n }[...#{ idx }]") { n[...idx] }
- else
- assert_equal(0, n[...idx], "#{ n }[...#{ idx }]")
- end
- end
- end
-
# assert_equal(1, (1 << 0x40000000)[0x40000000], "[ruby-dev:31271]")
# assert_equal(0, (-1 << 0x40000001)[0x40000000], "[ruby-dev:31271]")
big_zero = 0x40000000.coerce(0)[0]
@@ -63,32 +24,6 @@ class TestInteger < Test::Unit::TestCase
rescue
nil
end, "[ruby-dev:32084] [ruby-dev:34547]")
-
- x = EnvUtil.suppress_warning {2 ** -0x4000000000000000}
- assert_in_delta(0.0, (x / 2), Float::EPSILON)
-
- <<~EXPRS.each_line.with_index(__LINE__+1) do |expr, line|
- crash01: 111r+11**-11111161111111
- crash02: 1118111111111**-1111111111111111**1+1==11111
- crash03: -1111111**-1111*11 - -1111111** -111111111
- crash04: 1118111111111** -1111111111111111**1+11111111111**1 ===111
- crash05: 11** -111155555555555555 -55 !=5-555
- crash07: 1 + 111111111**-1111811111
- crash08: 18111111111**-1111111111111111**1 + 1111111111**-1111**1
- crash10: -7 - -1111111** -1111**11
- crash12: 1118111111111** -1111111111111111**1 + 1111 - -1111111** -1111*111111111119
- crash13: 1.0i - -1111111** -111111111
- crash14: 11111**111111111**111111 * -11111111111111111111**-111111111111
- crash15: ~1**1111 + -~1**~1**111
- crash17: 11** -1111111**1111 /11i
- crash18: 5555i**-5155 - -9111111**-1111**11
- crash19: 111111*-11111111111111111111**-1111111111111111
- crash20: 1111**111-11**-11111**11
- crash21: 11**-10111111119-1i -1r
- EXPRS
- name, expr = expr.split(':', 2)
- assert_ruby_status(%w"-W0", expr, name)
- end
end
def test_lshift
@@ -157,17 +92,6 @@ class TestInteger < Test::Unit::TestCase
assert_equal(2 ** 50, Integer(2.0 ** 50))
assert_raise(TypeError) { Integer(nil) }
- bug14552 = '[ruby-core:85813]'
- obj = Object.new
- def obj.to_int; "str"; end
- assert_raise(TypeError, bug14552) { Integer(obj) }
- def obj.to_i; 42; end
- assert_equal(42, Integer(obj), bug14552)
-
- obj = Object.new
- def obj.to_i; "str"; end
- assert_raise(TypeError) { Integer(obj) }
-
bug6192 = '[ruby-core:43566]'
assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-16be"))}
assert_raise(Encoding::CompatibilityError, bug6192) {Integer("0".encode("utf-16le"))}
@@ -192,61 +116,6 @@ class TestInteger < Test::Unit::TestCase
end;
end
- def test_Integer_with_invalid_exception
- assert_raise(ArgumentError) {
- Integer("0", exception: 1)
- }
- end
-
- def test_Integer_with_exception_keyword
- assert_nothing_raised(ArgumentError) {
- assert_equal(nil, Integer("1z", exception: false))
- }
- assert_nothing_raised(ArgumentError) {
- assert_equal(nil, Integer(Object.new, exception: false))
- }
- assert_nothing_raised(ArgumentError) {
- o = Object.new
- def o.to_i; 42.5; end
- assert_equal(nil, Integer(o, exception: false))
- }
- assert_nothing_raised(ArgumentError) {
- o = Object.new
- def o.to_i; raise; end
- assert_equal(nil, Integer(o, exception: false))
- }
- assert_nothing_raised(ArgumentError) {
- o = Object.new
- def o.to_int; raise; end
- assert_equal(nil, Integer(o, exception: false))
- }
- assert_nothing_raised(FloatDomainError) {
- assert_equal(nil, Integer(Float::INFINITY, exception: false))
- }
- assert_nothing_raised(FloatDomainError) {
- assert_equal(nil, Integer(-Float::INFINITY, exception: false))
- }
- assert_nothing_raised(FloatDomainError) {
- assert_equal(nil, Integer(Float::NAN, exception: false))
- }
-
- assert_raise(ArgumentError) {
- Integer("1z", exception: true)
- }
- assert_raise(TypeError) {
- Integer(nil, exception: true)
- }
- assert_nothing_raised(TypeError) {
- assert_equal(nil, Integer(nil, exception: false))
- }
-
- assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
- begin;
- class Integer;def method_missing(*);"";end;end
- assert_equal(0, Integer("0", 2))
- end;
- end
-
def test_int_p
assert_not_predicate(1.0, :integer?)
assert_predicate(1, :integer?)
@@ -260,7 +129,6 @@ class TestInteger < Test::Unit::TestCase
assert_equal("a", "a".ord.chr)
assert_raise(RangeError) { (-1).chr }
assert_raise(RangeError) { 0x100.chr }
- assert_raise_with_message(RangeError, "3000000000 out of char range") { 3_000_000_000.chr }
end
def test_upto
@@ -641,9 +509,6 @@ class TestInteger < Test::Unit::TestCase
failures << n unless root*root <= n && (root+1)*(root+1) > n
end
assert_empty(failures, bug13440)
-
- x = 0xffff_ffff_ffff_ffff
- assert_equal(x, Integer.sqrt(x ** 2), "[ruby-core:95453]")
end
def test_fdiv