mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 16:44:01 +02:00
Make subclasses to define methods
This commit is contained in:
parent
ec7babd12d
commit
e323dbb1bd
1 changed files with 11 additions and 23 deletions
|
@ -8,19 +8,13 @@ class Test_MyInteger < Test::Unit::TestCase
|
|||
Bug::Integer::MyInteger.new.to_f
|
||||
end
|
||||
|
||||
begin
|
||||
Bug::Integer::MyInteger.class_eval do
|
||||
def to_f
|
||||
end
|
||||
int = Class.new(Bug::Integer::MyInteger) 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
|
||||
assert_nothing_raised do
|
||||
int.new.to_f
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -29,20 +23,14 @@ class Test_MyInteger < Test::Unit::TestCase
|
|||
Bug::Integer::MyInteger.new <=> 0
|
||||
end
|
||||
|
||||
begin
|
||||
Bug::Integer::MyInteger.class_eval do
|
||||
def <=>(other)
|
||||
0
|
||||
end
|
||||
int = Class.new(Bug::Integer::MyInteger) 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
|
||||
assert_nothing_raised do
|
||||
int.new <=> 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue