2016-03-18 10:52:46 -04:00
|
|
|
# frozen_string_literal: false
|
|
|
|
require 'test/unit'
|
|
|
|
require "-test-/integer"
|
|
|
|
|
2018-03-13 02:29:02 -04:00
|
|
|
class Test_MyInteger < Test::Unit::TestCase
|
2016-03-18 10:52:46 -04:00
|
|
|
def test_my_integer_to_f
|
2016-03-19 05:43:35 -04:00
|
|
|
assert_raise(NotImplementedError) do
|
2016-03-18 10:52:46 -04:00
|
|
|
Bug::Integer::MyInteger.new.to_f
|
|
|
|
end
|
|
|
|
|
|
|
|
begin
|
|
|
|
Bug::Integer::MyInteger.class_eval do
|
|
|
|
def to_f
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_nothing_raised do
|
|
|
|
Bug::Integer::MyInteger.new.to_f
|
|
|
|
end
|
|
|
|
ensure
|
|
|
|
Bug::Integer::MyInteger.class_eval do
|
|
|
|
remove_method :to_f
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2016-03-19 05:28:12 -04:00
|
|
|
|
|
|
|
def test_my_integer_cmp
|
|
|
|
assert_raise(NotImplementedError) do
|
|
|
|
Bug::Integer::MyInteger.new <=> 0
|
|
|
|
end
|
|
|
|
|
|
|
|
begin
|
|
|
|
Bug::Integer::MyInteger.class_eval do
|
|
|
|
def <=>(other)
|
|
|
|
0
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_nothing_raised do
|
|
|
|
Bug::Integer::MyInteger.new <=> 0
|
|
|
|
end
|
|
|
|
ensure
|
|
|
|
Bug::Integer::MyInteger.class_eval do
|
|
|
|
remove_method :<=>
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2016-03-18 10:52:46 -04:00
|
|
|
end
|