- 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/mrbgems/mruby-enum-ext/test/enum.rb
r331 r439 101 101 assert_true %w(ant bear cat).none? { |word| word.length == 5 } 102 102 assert_false %w(ant bear cat).none? { |word| word.length >= 4 } 103 assert_false [1, 3.14, 42].none?(Float) 103 104 assert_true [].none? 104 105 assert_true [nil, false].none? … … 110 111 assert_false %w(ant bear cat).one? { |word| word.length > 4 } 111 112 assert_false %w(ant bear cat).one? { |word| word.length < 4 } 113 assert_true [1, 3.14, 42].one?(Float) 112 114 assert_false [nil, true, 99].one? 113 115 assert_true [nil, true, false].one? 116 assert_true [ nil, true, 99 ].one?(Integer) 117 assert_false [].one? 118 end 119 120 assert("Enumerable#all? (enhancement)") do 121 assert_false [1, 2, 3.14].all?(Integer) 122 assert_true [1, 2, 3.14].all?(Numeric) 123 end 124 125 assert("Enumerable#any? (enhancement)") do 126 assert_false [1, 2, 3].all?(Float) 127 assert_true [nil, true, 99].any?(Integer) 114 128 end 115 129 116 130 assert("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 } 118 132 assert_raise(ArgumentError) { (1..10).each_with_object() { |i, a| a << i*2 } } 119 133 end … … 122 136 r = (1..3) 123 137 a = [] 124 assert_ equal (1..3), r.reverse_each { |v| a << v }138 assert_same r, r.reverse_each { |v| a << v } 125 139 assert_equal [3, 2, 1], a 126 140 end … … 153 167 assert_equal [[1, 4, 7], [2, 5, 8]], [1, 2].zip(a, b) 154 168 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) } 155 175 end 156 176 … … 167 187 assert_equal Hash, h.class 168 188 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]}) 171 190 end 191 192 assert("Enumerable#filter_map") do 193 assert_equal [4, 8, 12, 16, 20], (1..10).filter_map{|i| i * 2 if i%2==0} 194 end 195 196 assert("Enumerable#tally") do 197 assert_equal({"a"=>1, "b"=>2, "c"=>1}, ["a", "b", "c", "b"].tally) 198 end
Note:
See TracChangeset
for help on using the changeset viewer.