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/numeric.rb

    r321 r439  
    22# Numeric ISO Test
    33
     4def assert_step(exp, receiver, args, inf: false)
     5  act = []
     6  ret = receiver.step(*args) do |i|
     7    act << i
     8    break if inf && exp.size == act.size
     9  end
     10  expr = "#{receiver.inspect}.step(#{args.map(&:inspect).join(', ')})"
     11  assert "assert_step" do
     12    assert_true(exp.eql?(act), "#{expr}: counters", assertion_diff(exp, act))
     13    assert_same(receiver, ret, "#{expr}: return value") unless inf
     14  end
     15end
     16
    417assert('Numeric', '15.2.7') do
    5   assert_equal Class, Numeric.class
     18  assert_equal(Class, Numeric.class)
    619end
    720
     
    1629assert('Numeric#abs', '15.2.7.4.3') do
    1730  assert_equal(1, 1.abs)
     31  skip unless Object.const_defined?(:Float)
    1832  assert_equal(1.0, -1.abs)
    19 end
    20 
    21 assert('Numeric#pow') do
    22   assert_equal(8, 2 ** 3)
    23   assert_equal(-8, -2 ** 3)
    24   assert_equal(1, 2 ** 0)
    25   assert_equal(1, 2.2 ** 0)
    26   assert_equal(0.5, 2 ** -1)
    2733end
    2834
     
    4046
    4147assert('Numeric#**') do
    42   assert_equal 8.0, 2.0**3
     48  assert_equal(8, 2 ** 3)
     49  assert_equal(-8, -2 ** 3)
     50  assert_equal(1, 2 ** 0)
     51  skip unless Object.const_defined?(:Float)
     52  assert_equal(1.0, 2.2 ** 0)
     53  assert_equal(0.5, 2 ** -1)
     54  assert_equal(8.0, 2.0**3)
    4355end
     56
     57assert('Numeric#step') do
     58  assert_raise(ArgumentError) { 1.step(2, 0) { break } }
     59  assert_step([2, 3, 4], 2, [4])
     60  assert_step([10, 8, 6, 4, 2], 10, [1, -2])
     61  assert_step([], 2, [1, 3])
     62  assert_step([], -2, [-1, -3])
     63  assert_step([10, 11, 12, 13], 10, [], inf: true)
     64  assert_step([10, 7, 4], 10, [nil, -3], inf: true)
     65
     66  skip unless Object.const_defined?(:Float)
     67  inf = Float::INFINITY
     68  assert_raise(ArgumentError) { 1.step(2, 0.0) { break } }
     69  assert_step([2.0, 3.0, 4.0], 2, [4.0])
     70  assert_step([7.0, 4.0, 1.0, -2.0], 7, [-4, -3.0])
     71  assert_step([2.0, 3.0, 4.0], 2.0, [4])
     72  assert_step([10.0, 11.0, 12.0, 13.0], 10.0, [], inf: true)
     73  assert_step([10.0, 7.0, 4.0], 10, [nil, -3.0], inf: true)
     74  assert_step([1.0], 1, [nil, inf])
     75  assert_step([1.0], 1, [nil, -inf])
     76  assert_step([1.0], 1, [3, inf])
     77  assert_step([], 1, [-3, inf])
     78  assert_step([], 1, [3, -inf])
     79  assert_step([1.0], 1, [-3, -inf])
     80  assert_step([1.0], 1, [inf, inf])
     81  assert_step([], 1, [inf, -inf])
     82  assert_step([], 1, [-inf, inf])
     83  assert_step([1.0], 1, [-inf, -inf])
     84  assert_step([], inf, [2])
     85  assert_step([], inf, [-2])
     86  assert_step([], inf, [2, 3])
     87  assert_step([inf, inf, inf], inf, [2, -3], inf: true)
     88  assert_step([], inf, [2, inf])
     89  assert_step([inf], inf, [2, -inf])
     90  assert_step([], inf, [-2, inf])
     91  assert_step([inf], inf, [-2, -inf])
     92  assert_step([], inf, [-2, 3])
     93  assert_step([inf, inf, inf], inf, [-2, -3], inf: true)
     94  assert_step([inf], inf, [inf])
     95  assert_step([], inf, [-inf])
     96  assert_step([inf], inf, [inf, inf])
     97  assert_step([inf], inf, [inf, -inf])
     98  assert_step([inf], inf, [-inf, -inf])
     99  assert_step([-inf, -inf, -inf], -inf, [2], inf: true)
     100  assert_step([-inf, -inf, -inf], -inf, [-2], inf: true)
     101  assert_step([-inf, -inf, -inf], -inf, [2, 3], inf: true)
     102  assert_step([], -inf, [2, -3])
     103  assert_step([-inf], -inf, [2, inf])
     104  assert_step([], -inf, [2, -inf])
     105  assert_step([-inf], -inf, [-2, inf])
     106  assert_step([], -inf, [-2, -inf])
     107  assert_step([-inf, -inf, -inf], -inf, [-2, 3], inf: true)
     108  assert_step([], -inf, [-2, -3])
     109  assert_step([-inf, -inf, -inf], -inf, [inf], inf: true)
     110  assert_step([-inf], -inf, [-inf])
     111  assert_step([-inf], -inf, [inf, inf])
     112  assert_step([], -inf, [inf, -inf])
     113  assert_step([-inf], -inf, [-inf, -inf])
     114end
Note: See TracChangeset for help on using the changeset viewer.