diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_integer.rb | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/test/ruby/test_integer.rb b/test/ruby/test_integer.rb index 00c3c12577..b52f1f7c51 100644 --- a/test/ruby/test_integer.rb +++ b/test/ruby/test_integer.rb @@ -274,39 +274,31 @@ class TestInteger < Test::Unit::TestCase assert_int_equal(-1111_1111_1111_1111_1111_1111_1111_1110, (-1111_1111_1111_1111_1111_1111_1111_1111).truncate(-1)) end - def test_bitwise_and_with_integer_mimic_object - def (obj = Object.new).to_int - 10 + MimicInteger = Struct.new(:to_int) + module CoercionToInt + def coerce(other) + [other, to_int] end - assert_raise(TypeError, '[ruby-core:39491]') { 3 & obj } + end - def obj.coerce(other) - [other, 10] - end + def test_bitwise_and_with_integer_mimic_object + obj = MimicInteger.new(10) + assert_raise(TypeError, '[ruby-core:39491]') { 3 & obj } + obj.extend(CoercionToInt) assert_equal(3 & 10, 3 & obj) end def test_bitwise_or_with_integer_mimic_object - def (obj = Object.new).to_int - 10 - end + obj = MimicInteger.new(10) assert_raise(TypeError, '[ruby-core:39491]') { 3 | obj } - - def obj.coerce(other) - [other, 10] - end + obj.extend(CoercionToInt) assert_equal(3 | 10, 3 | obj) end def test_bitwise_xor_with_integer_mimic_object - def (obj = Object.new).to_int - 10 - end + obj = MimicInteger.new(10) assert_raise(TypeError, '[ruby-core:39491]') { 3 ^ obj } - - def obj.coerce(other) - [other, 10] - end + obj.extend(CoercionToInt) assert_equal(3 ^ 10, 3 ^ obj) end |