summaryrefslogtreecommitdiff
path: root/test/ruby/test_complex.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_complex.rb')
-rw-r--r--test/ruby/test_complex.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb
index f85bf101e0..13511fd4cf 100644
--- a/test/ruby/test_complex.rb
+++ b/test/ruby/test_complex.rb
@@ -568,19 +568,23 @@ class Complex_Test < Test::Unit::TestCase
end
class ObjectX
- def +(x) Rational(1) end
+ def initialize(real = true, n = 1) @n = n; @real = real; end
+ def +(x) Rational(@n) end
alias - +
alias * +
alias / +
alias quo +
alias ** +
- def coerce(x) [x, Complex(1)] end
+ def coerce(x) [x, Complex(@n)] end
+ def real?; @real; end
end
def test_coerce2
x = ObjectX.new
+ y = ObjectX.new(false)
%w(+ - * / quo ** <=>).each do |op|
- assert_kind_of(Numeric, Complex(1).__send__(op, x))
+ assert_kind_of(Numeric, Complex(1).__send__(op, x), op)
+ assert_kind_of(Numeric, Complex(1).__send__(op, y), op)
end
end