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/mrbgems/mruby-enum-ext/test/enum.rb

    r331 r439  
    101101  assert_true %w(ant bear cat).none? { |word| word.length == 5 }
    102102  assert_false %w(ant bear cat).none? { |word| word.length >= 4 }
     103  assert_false [1, 3.14, 42].none?(Float)
    103104  assert_true [].none?
    104105  assert_true [nil, false].none?
     
    110111  assert_false %w(ant bear cat).one? { |word| word.length > 4 }
    111112  assert_false %w(ant bear cat).one? { |word| word.length < 4 }
     113  assert_true [1, 3.14, 42].one?(Float)
    112114  assert_false [nil, true, 99].one?
    113115  assert_true [nil, true, false].one?
     116  assert_true [ nil, true, 99 ].one?(Integer)
     117  assert_false [].one?
     118end
     119
     120assert("Enumerable#all? (enhancement)") do
     121  assert_false [1, 2, 3.14].all?(Integer)
     122  assert_true [1, 2, 3.14].all?(Numeric)
     123end
     124
     125assert("Enumerable#any? (enhancement)") do
     126  assert_false [1, 2, 3].all?(Float)
     127  assert_true [nil, true, 99].any?(Integer)
    114128end
    115129
    116130assert("Enumerable#each_with_object") do
    117   assert_true [2, 4, 6, 8, 10, 12, 14, 16, 18, 20], (1..10).each_with_object([]) { |i, a| a << i*2 }
     131  assert_equal [2, 4, 6, 8, 10, 12, 14, 16, 18, 20], (1..10).each_with_object([]) { |i, a| a << i*2 }
    118132  assert_raise(ArgumentError) { (1..10).each_with_object() { |i, a| a << i*2 } }
    119133end
     
    122136  r = (1..3)
    123137  a = []
    124   assert_equal (1..3), r.reverse_each { |v| a << v }
     138  assert_same r, r.reverse_each { |v| a << v }
    125139  assert_equal [3, 2, 1], a
    126140end
     
    153167  assert_equal [[1, 4, 7], [2, 5, 8]], [1, 2].zip(a, b)
    154168  assert_equal [[4, 1, 8], [5, 2, nil], [6, nil, nil]], a.zip([1, 2], [8])
     169
     170  ret = []
     171  assert_equal nil, a.zip([1, 2], [8]) { |i| ret << i }
     172  assert_equal [[4, 1, 8], [5, 2, nil], [6, nil, nil]], ret
     173
     174  assert_raise(TypeError) { [1].zip(1) }
    155175end
    156176
     
    167187  assert_equal Hash, h.class
    168188  assert_equal h0, h
    169   # mruby-enum-ext also provides nil.to_h
    170   assert_equal Hash.new, nil.to_h
     189  assert_equal({1=>4,3=>8}, c.new.to_h{|k,v|[k,v*2]})
    171190end
     191
     192assert("Enumerable#filter_map") do
     193  assert_equal [4, 8, 12, 16, 20], (1..10).filter_map{|i| i * 2 if i%2==0}
     194end
     195
     196assert("Enumerable#tally") do
     197  assert_equal({"a"=>1, "b"=>2, "c"=>1}, ["a", "b", "c", "b"].tally)
     198end
Note: See TracChangeset for help on using the changeset viewer.