Files
mruby-mruby/test/t/numeric.rb
T
Yukihiro "Matz" Matsumoto be58f1c9ab add Numeric#/ tests; ref #1965
2014-03-28 11:05:53 +09:00

40 lines
733 B
Ruby

##
# Numeric ISO Test
assert('Numeric', '15.2.7') do
assert_equal Class, Numeric.class
end
assert('Numeric superclass', '15.2.7.2') do
assert_equal Object, Numeric.superclass
end
assert('Numeric#+@', '15.2.7.4.1') do
assert_equal(+1, +1)
end
assert('Numeric#-@', '15.2.7.4.2') do
assert_equal(-1, -1)
end
assert('Numeric#abs', '15.2.7.4.3') do
assert_equal(1, 1.abs)
assert_equal(1.0, -1.abs)
end
assert('Numeric#/', '15.2.8.3.4') do
n = Class.new(Numeric){ def /(x); 15.1;end }.new
assert_equal(2, 10/5)
assert_equal(0.0625, 1/16)
assert_equal(15.1, n/10)
assert_raise(TypeError){ 1/n }
assert_raise(TypeError){ 1/nil }
end
# Not ISO specified
assert('Numeric#**') do
assert_equal 8.0, 2.0**3
end