diff options
Diffstat (limited to 'test/ruby/test_complex.rb')
| -rw-r--r-- | test/ruby/test_complex.rb | 79 |
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 |
