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.rb79
1 files changed, 14 insertions, 65 deletions
diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb
index edbdffd069..a3a7546575 100644
--- a/test/ruby/test_complex.rb
+++ b/test/ruby/test_complex.rb
@@ -221,16 +221,10 @@ class Complex_Test < Test::Unit::TestCase
assert_equal([1,2], Complex.polar(1,2).polar)
assert_equal(Complex.polar(1.0, Math::PI * 2 / 3), Complex.polar(1, Math::PI * 2 / 3))
- one = 1+0i
- c = Complex.polar(0, one)
- assert_equal(0, c)
- assert_predicate(c.real, :real?)
- c = Complex.polar(one, 0)
- assert_equal(1, c)
- assert_predicate(c.real, :real?)
- c = Complex.polar(one)
- assert_equal(1, c)
- assert_predicate(c.real, :real?)
+ assert_in_out_err([], <<-'end;', ['OK'], [])
+ Complex.polar(1, Complex(1, 0))
+ puts :OK
+ end;
end
def test_uplus
@@ -573,24 +567,20 @@ class Complex_Test < Test::Unit::TestCase
assert_raise_with_message(TypeError, /C\u{1f5ff}/) { Complex(1).coerce(obj) }
end
- class ObjectX < Numeric
- def initialize(real = true, n = 1) @n = n; @real = real; end
- def +(x) Rational(@n) end
+ class ObjectX
+ def +(x) Rational(1) end
alias - +
alias * +
alias / +
alias quo +
alias ** +
- def coerce(x) [x, Complex(@n)] end
- def real?; @real; end
+ def coerce(x) [x, Complex(1)] 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), op)
- assert_kind_of(Numeric, Complex(1).__send__(op, y), op)
+ %w(+ - * / quo **).each do |op|
+ assert_kind_of(Numeric, Complex(1).__send__(op, x))
end
end
@@ -853,42 +843,20 @@ class Complex_Test < Test::Unit::TestCase
assert_equal(Complex(0), '_5'.to_c)
assert_equal(Complex(5), '5_'.to_c)
assert_equal(Complex(5), '5x'.to_c)
- assert_equal(Complex(51), '5_1'.to_c)
- assert_equal(Complex(5), '5__1'.to_c)
assert_equal(Complex(5), '5+_3i'.to_c)
assert_equal(Complex(5), '5+3_i'.to_c)
assert_equal(Complex(5,3), '5+3i_'.to_c)
assert_equal(Complex(5,3), '5+3ix'.to_c)
- assert_equal(Complex(5,31), '5+3_1i'.to_c)
- assert_equal(Complex(5), '5+3__1i'.to_c)
- assert_equal(Complex(51), Complex('5_1'))
- assert_equal(Complex(5,31), Complex('5+3_1i'))
- assert_equal(Complex(5,31), Complex('5+3_1I'))
- assert_equal(Complex(5,31), Complex('5+3_1j'))
- assert_equal(Complex(5,31), Complex('5+3_1J'))
- assert_equal(Complex(0,31), Complex('3_1i'))
- assert_equal(Complex(0,31), Complex('3_1I'))
- assert_equal(Complex(0,31), Complex('3_1j'))
- assert_equal(Complex(0,31), Complex('3_1J'))
assert_raise(ArgumentError){ Complex('')}
assert_raise(ArgumentError){ Complex('_')}
assert_raise(ArgumentError){ Complex("\f\n\r\t\v5\0")}
assert_raise(ArgumentError){ Complex('_5')}
assert_raise(ArgumentError){ Complex('5_')}
- assert_raise(ArgumentError){ Complex('5__1')}
assert_raise(ArgumentError){ Complex('5x')}
assert_raise(ArgumentError){ Complex('5+_3i')}
assert_raise(ArgumentError){ Complex('5+3_i')}
assert_raise(ArgumentError){ Complex('5+3i_')}
assert_raise(ArgumentError){ Complex('5+3ix')}
- assert_raise(ArgumentError){ Complex('5+3__1i')}
- assert_raise(ArgumentError){ Complex('5+3__1I')}
- assert_raise(ArgumentError){ Complex('5+3__1j')}
- assert_raise(ArgumentError){ Complex('5+3__1J')}
- assert_raise(ArgumentError){ Complex('3__1i')}
- assert_raise(ArgumentError){ Complex('3__1I')}
- assert_raise(ArgumentError){ Complex('3__1j')}
- assert_raise(ArgumentError){ Complex('3__1J')}
assert_equal(Complex(Rational(1,5)), '1/5'.to_c)
assert_equal(Complex(Rational(-1,5)), '-1/5'.to_c)
@@ -1167,34 +1135,15 @@ class Complex_Test < Test::Unit::TestCase
end
def test_canonicalize_polar
- error = "not a real"
- assert_raise_with_message(TypeError, error) do
- Complex.polar(1i)
- end
- assert_raise_with_message(TypeError, error) do
- Complex.polar(1i, 0)
- end
- assert_raise_with_message(TypeError, error) do
- Complex.polar(0, 1i)
- end
- n = Class.new(Numeric) do
- def initialize(x = 1)
- @x = x
+ obj = Class.new(Numeric) do
+ def initialize
+ @x = 2
end
def real?
(@x -= 1) > 0
end
- end
- obj = n.new
- assert_raise_with_message(TypeError, error) do
- Complex.polar(obj)
- end
- obj = n.new
- assert_raise_with_message(TypeError, error) do
- Complex.polar(obj, 0)
- end
- obj = n.new
- assert_raise_with_message(TypeError, error) do
+ end.new
+ assert_raise(TypeError) do
Complex.polar(1, obj)
end
end