summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/deps/mruby/test/t/float.rb
diff options
context:
space:
mode:
Diffstat (limited to 'web/server/h2o/libh2o/deps/mruby/test/t/float.rb')
-rw-r--r--web/server/h2o/libh2o/deps/mruby/test/t/float.rb205
1 files changed, 0 insertions, 205 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby/test/t/float.rb b/web/server/h2o/libh2o/deps/mruby/test/t/float.rb
deleted file mode 100644
index 7e8c98988..000000000
--- a/web/server/h2o/libh2o/deps/mruby/test/t/float.rb
+++ /dev/null
@@ -1,205 +0,0 @@
-##
-# Float ISO Test
-
-assert('Float', '15.2.9') do
- assert_equal Class, Float.class
-end
-
-assert('Float#+', '15.2.9.3.1') do
- a = 3.123456788 + 0.000000001
- b = 3.123456789 + 1
-
- assert_float(3.123456789, a)
- assert_float(4.123456789, b)
-
- assert_raise(TypeError){ 0.0+nil }
- assert_raise(TypeError){ 1.0+nil }
-end
-
-assert('Float#-', '15.2.9.3.2') do
- a = 3.123456790 - 0.000000001
- b = 5.123456789 - 1
-
- assert_float(3.123456789, a)
- assert_float(4.123456789, b)
-end
-
-assert('Float#*', '15.2.9.3.3') do
- a = 3.125 * 3.125
- b = 3.125 * 1
-
- assert_float(9.765625, a)
- assert_float(3.125 , b)
-end
-
-assert('Float#/', '15.2.9.3.4') do
- a = 3.123456789 / 3.123456789
- b = 3.123456789 / 1
-
- assert_float(1.0 , a)
- assert_float(3.123456789, b)
-end
-
-assert('Float#%', '15.2.9.3.5') do
- a = 3.125 % 3.125
- b = 3.125 % 1
-
- assert_float(0.0 , a)
- assert_float(0.125, b)
-end
-
-assert('Float#<=>', '15.2.9.3.6') do
- a = 3.125 <=> 3.123
- b = 3.125 <=> 3.125
- c = 3.125 <=> 3.126
- a2 = 3.125 <=> 3
- c2 = 3.125 <=> 4
-
- assert_equal( 1, a)
- assert_equal( 0, b)
- assert_equal(-1, c)
- assert_equal( 1, a2)
- assert_equal(-1, c2)
-end
-
-assert('Float#==', '15.2.9.3.7') do
- assert_true 3.1 == 3.1
- assert_false 3.1 == 3.2
-end
-
-assert('Float#ceil', '15.2.9.3.8') do
- a = 3.123456789.ceil
- b = 3.0.ceil
- c = -3.123456789.ceil
- d = -3.0.ceil
-
- assert_equal( 4, a)
- assert_equal( 3, b)
- assert_equal(-3, c)
- assert_equal(-3, d)
-end
-
-assert('Float#finite?', '15.2.9.3.9') do
- assert_true 3.123456789.finite?
- assert_false (1.0 / 0.0).finite?
-end
-
-assert('Float#floor', '15.2.9.3.10') do
- a = 3.123456789.floor
- b = 3.0.floor
- c = -3.123456789.floor
- d = -3.0.floor
-
- assert_equal( 3, a)
- assert_equal( 3, b)
- assert_equal(-4, c)
- assert_equal(-3, d)
-end
-
-assert('Float#infinite?', '15.2.9.3.11') do
- a = 3.123456789.infinite?
- b = (1.0 / 0.0).infinite?
- c = (-1.0 / 0.0).infinite?
-
- assert_nil a
- assert_equal( 1, b)
- assert_equal(-1, c)
-end
-
-assert('Float#round', '15.2.9.3.12') do
- a = 3.123456789.round
- b = 3.5.round
- c = 3.4999.round
- d = (-3.123456789).round
- e = (-3.5).round
- f = 12345.67.round(-1)
- g = 3.423456789.round(0)
- h = 3.423456789.round(1)
- i = 3.423456789.round(3)
-
- assert_equal( 3, a)
- assert_equal( 4, b)
- assert_equal( 3, c)
- assert_equal( -3, d)
- assert_equal( -4, e)
- assert_equal(12350, f)
- 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
- a = 3.123456789
-
- assert_float(a, a.to_f)
-end
-
-assert('Float#to_i', '15.2.9.3.14') do
- assert_equal(3, 3.123456789.to_i)
- assert_raise(FloatDomainError) { Float::INFINITY.to_i }
- assert_raise(FloatDomainError) { (-Float::INFINITY).to_i }
- assert_raise(FloatDomainError) { Float::NAN.to_i }
-end
-
-assert('Float#truncate', '15.2.9.3.15') do
- assert_equal( 3, 3.123456789.truncate)
- assert_equal(-3, -3.1.truncate)
-end
-
-assert('Float#divmod') do
- def check_floats exp, act
- assert_float exp[0], act[0]
- assert_float exp[1], act[1]
- end
-
- # Note: quotients are Float because mruby does not have Bignum.
- check_floats [ 0, 0.0], 0.0.divmod(1)
- check_floats [ 0, 1.1], 1.1.divmod(3)
- check_floats [ 3, 0.2], 3.2.divmod(1)
- check_floats [ 2, 6.3], 20.3.divmod(7)
- check_floats [-1, 1.6], -3.4.divmod(5)
- check_floats [-2, -0.5], 25.5.divmod(-13)
- check_floats [ 1, -6.6], -13.6.divmod(-7)
- check_floats [ 3, 0.2], 9.8.divmod(3.2)
-end
-
-assert('Float#nan?') do
- assert_true (0.0/0.0).nan?
- assert_false 0.0.nan?
- assert_false (1.0/0.0).nan?
- assert_false (-1.0/0.0).nan?
-end
-
-assert('Float#<<') do
- # Left Shift by one
- assert_equal 46, 23.0 << 1
-
- # Left Shift by a negative is Right Shift
- assert_equal 23, 46.0 << -1
-end
-
-assert('Float#>>') do
- # Right Shift by one
- assert_equal 23, 46.0 >> 1
-
- # Right Shift by a negative is Left Shift
- assert_equal 46, 23.0 >> -1
-
- # Don't raise on large Right Shift
- assert_equal 0, 23.0 >> 128
-
- # Don't raise on large Right Shift
- assert_equal(-1, -23.0 >> 128)
-end