1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

added some tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tadf 2010-11-22 22:32:57 +00:00
parent 1d8ca7a237
commit bacd547858
2 changed files with 38 additions and 0 deletions

View file

@ -517,6 +517,23 @@ class Complex_Test < Test::Unit::TestCase
assert_equal([Complex(2),Complex(1)], Complex(1).coerce(Complex(2))) assert_equal([Complex(2),Complex(1)], Complex(1).coerce(Complex(2)))
end 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 def test_unify
if @unify if @unify
assert_instance_of(Fixnum, Complex(1,2) + Complex(-1,-2)) 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)) assert_equal(Complex(1), 1 ** Complex(1))
end end
assert_equal('-1.0-0.0i', Complex(-1.0, -0.0).to_s) 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 end
def test_known_bug def test_known_bug

View file

@ -723,6 +723,26 @@ class Rational_Test < Test::Unit::TestCase
assert_equal([Rational(2),Rational(1)], Rational(1).coerce(Rational(2))) assert_equal([Rational(2),Rational(1)], Rational(1).coerce(Rational(2)))
end 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 def test_unify
if @unify if @unify
assert_instance_of(Fixnum, Rational(1,2) + Rational(1,2)) assert_instance_of(Fixnum, Rational(1,2) + Rational(1,2))