diff options
author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-22 22:32:57 +0000 |
---|---|---|
committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-22 22:32:57 +0000 |
commit | bacd54785856a7d7a7dd3ea995b9aa6f9c56a3da (patch) | |
tree | c5d35d1ba371f05023239521d315a7fa176d7a04 | |
parent | 1d8ca7a237825a4d606e08ff3544aa6a8489f6f9 (diff) | |
download | ruby-bacd54785856a7d7a7dd3ea995b9aa6f9c56a3da.tar.gz |
added some tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | test/ruby/test_complex.rb | 18 | ||||
-rw-r--r-- | test/ruby/test_rational.rb | 20 |
2 files changed, 38 insertions, 0 deletions
diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb index b2894610f7..e364c97d9a 100644 --- a/test/ruby/test_complex.rb +++ b/test/ruby/test_complex.rb @@ -517,6 +517,23 @@ class Complex_Test < Test::Unit::TestCase assert_equal([Complex(2),Complex(1)], Complex(1).coerce(Complex(2))) end + class ObjectX + def + (x) Rational(1) end + alias - + + alias * + + alias / + + alias quo + + alias ** + + def coerce(x) [x, Complex(1)] end + end + + def test_coerce2 + x = ObjectX.new + %w(+ - * / quo **).each do |op| + assert_kind_of(Numeric, Complex(1).__send__(op, x)) + end + end + def test_unify if @unify assert_instance_of(Fixnum, Complex(1,2) + Complex(-1,-2)) @@ -1082,6 +1099,7 @@ class Complex_Test < Test::Unit::TestCase assert_equal(Complex(1), 1 ** Complex(1)) end assert_equal('-1.0-0.0i', Complex(-1.0, -0.0).to_s) + assert_in_delta(Math::PI, Complex(-0.0).arg, 0.001) end def test_known_bug diff --git a/test/ruby/test_rational.rb b/test/ruby/test_rational.rb index cf88617990..8b992350ab 100644 --- a/test/ruby/test_rational.rb +++ b/test/ruby/test_rational.rb @@ -723,6 +723,26 @@ class Rational_Test < Test::Unit::TestCase assert_equal([Rational(2),Rational(1)], Rational(1).coerce(Rational(2))) end + class ObjectX + def + (x) Rational(1) end + alias - + + alias * + + alias / + + alias quo + + alias div + + alias % + + alias remainder + + alias ** + + def coerce(x) [x, Rational(1)] end + end + + def test_coerce2 + x = ObjectX.new + %w(+ - * / quo div % remainder **).each do |op| + assert_kind_of(Numeric, Rational(1).__send__(op, x)) + end + end + def test_unify if @unify assert_instance_of(Fixnum, Rational(1,2) + Rational(1,2)) |