Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

Location:
EcnlProtoTool/trunk/mruby-2.1.1
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-2.1.1/test/t/integer.rb

    r331 r439  
    88assert('Integer#+', '15.2.8.3.1') do
    99  a = 1+1
    10   b = 1+1.0
     10  b = 1+1.0 if Object.const_defined?(:Float)
    1111
    1212  assert_equal 2, a
    13   assert_equal 2.0, b
     13  assert_equal 2.0, b if Object.const_defined?(:Float)
    1414
    1515  assert_raise(TypeError){ 0+nil }
     
    1818  c = Mrbtest::FIXNUM_MAX + 1
    1919  d = Mrbtest::FIXNUM_MAX.__send__(:+, 1)
     20
     21  skip unless Object.const_defined?(:Float)
    2022  e = Mrbtest::FIXNUM_MAX + 1.0
    2123  assert_equal Float, c.class
     
    2729assert('Integer#-', '15.2.8.3.2') do
    2830  a = 2-1
    29   b = 2-1.0
     31  b = 2-1.0 if Object.const_defined?(:Float)
    3032
    3133  assert_equal 1, a
    32   assert_equal 1.0, b
     34  assert_equal 1.0, b if Object.const_defined?(:Float)
    3335
    3436  c = Mrbtest::FIXNUM_MIN - 1
    3537  d = Mrbtest::FIXNUM_MIN.__send__(:-, 1)
     38
     39  skip unless Object.const_defined?(:Float)
    3640  e = Mrbtest::FIXNUM_MIN - 1.0
    3741  assert_equal Float, c.class
     
    4347assert('Integer#*', '15.2.8.3.3') do
    4448  a = 1*1
    45   b = 1*1.0
     49  b = 1*1.0 if Object.const_defined?(:Float)
    4650
    4751  assert_equal 1, a
    48   assert_equal 1.0, b
     52  assert_equal 1.0, b if Object.const_defined?(:Float)
    4953
    5054  assert_raise(TypeError){ 0*nil }
     
    5357  c = Mrbtest::FIXNUM_MAX * 2
    5458  d = Mrbtest::FIXNUM_MAX.__send__(:*, 2)
     59
     60  skip unless Object.const_defined?(:Float)
    5561  e = Mrbtest::FIXNUM_MAX * 2.0
    5662  assert_equal Float, c.class
     
    149155  assert_equal 23, 46 << -1
    150156
    151   # Left Shift by 31 is bitShift overflow to SignedInt
    152   assert_equal 2147483648, 1 << 31
    153 
    154   # -3 Left Shift by 30 is bitShift overflow to SignedInt
    155   assert_equal(-3221225472, -3 << 30)
     157  skip unless Object.const_defined?(:Float)
     158
     159  # Overflow to Fixnum
     160  assert_float 9223372036854775808.0, 1 << 63
     161  assert_float(-13835058055282163712.0, -3 << 62)
    156162end
    157163
     
    218224
    219225assert('Integer#to_f', '15.2.8.3.23') do
     226  skip unless Object.const_defined?(:Float)
    220227  assert_equal 1.0, 1.to_f
    221228end
     
    226233
    227234assert('Integer#to_s', '15.2.8.3.25') do
    228   assert_equal '1', 1.to_s
    229   assert_equal("-1", -1.to_s)
     235  assert_equal "1", 1.to_s
     236  assert_equal "-1", -1.to_s
     237  assert_equal "1010", 10.to_s(2)
     238  assert_equal "a", 10.to_s(36)
     239  assert_equal "-a", -10.to_s(36)
     240  assert_equal "30071", 12345.to_s(8)
     241  assert_raise(ArgumentError) { 10.to_s(-1) }
     242  assert_raise(ArgumentError) { 10.to_s(0) }
     243  assert_raise(ArgumentError) { 10.to_s(1) }
     244  assert_raise(ArgumentError) { 10.to_s(37) }
    230245end
    231246
     
    251266  assert_equal [ 1, -6], -13.divmod(-7)
    252267end
    253 
    254 # Not ISO specified
    255 
    256 assert('Integer#step') do
    257   a = []
    258   b = []
    259   1.step(3) do |i|
    260     a << i
    261   end
    262   1.step(6, 2) do |i|
    263     b << i
    264   end
    265 
    266   assert_equal [1, 2, 3], a
    267   assert_equal [1, 3, 5], b
    268 end
Note: See TracChangeset for help on using the changeset viewer.