Changeset 439 for EcnlProtoTool/trunk/mruby-2.1.1/test/t/numeric.rb
- Timestamp:
- Jul 9, 2020, 8:51:43 AM (4 years ago)
- 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 2 2 # Numeric ISO Test 3 3 4 def 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 15 end 16 4 17 assert('Numeric', '15.2.7') do 5 assert_equal Class, Numeric.class18 assert_equal(Class, Numeric.class) 6 19 end 7 20 … … 16 29 assert('Numeric#abs', '15.2.7.4.3') do 17 30 assert_equal(1, 1.abs) 31 skip unless Object.const_defined?(:Float) 18 32 assert_equal(1.0, -1.abs) 19 end20 21 assert('Numeric#pow') do22 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)27 33 end 28 34 … … 40 46 41 47 assert('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) 43 55 end 56 57 assert('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]) 114 end
Note:
See TracChangeset
for help on using the changeset viewer.