Float#round fix bug for infinity and nan cases

This commit is contained in:
ksss
2014-03-21 22:24:33 +09:00
parent 07bd65ae65
commit 8891cea41c
2 changed files with 27 additions and 1 deletions
+12
View File
@@ -130,6 +130,18 @@ assert('Float#round', '15.2.9.3.12') do
assert_equal( 3, g)
assert_float( 3.4, h)
assert_float(3.423, i)
assert_equal(42.0, 42.0.round(307))
assert_equal(1.0e307, 1.0e307.round(2))
inf = 1.0/0.0
assert_raise(FloatDomainError){ inf.round }
assert_raise(FloatDomainError){ inf.round(-1) }
assert_equal(inf, inf.round(1))
nan = 0.0/0.0
assert_raise(FloatDomainError){ nan.round }
assert_raise(FloatDomainError){ nan.round(-1) }
assert_true(nan.round(1).nan?)
end
assert('Float#to_f', '15.2.9.3.13') do