- 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-hash-ext/test/hash.rb
r331 r439 46 46 end 47 47 48 assert('Hash.try_convert') do49 assert_nil Hash.try_convert(nil)50 assert_nil Hash.try_convert("{1=>2}")51 assert_equal({1=>2}, Hash.try_convert({1=>2}))52 end53 54 48 assert('Hash#merge!') do 55 49 a = { 'abc_key' => 'abc_value', 'cba_key' => 'cba_value' } … … 81 75 h = Hash.new { |hash,k| hash[k] = k } 82 76 assert_equal keys, h.values_at(*keys) 77 end 78 79 assert('Hash#compact') do 80 h = { "cat" => "feline", "dog" => nil, "cow" => false } 81 82 assert_equal({ "cat" => "feline", "cow" => false }, h.compact) 83 assert_equal({ "cat" => "feline", "dog" => nil, "cow" => false }, h) 84 end 85 86 assert('Hash#compact!') do 87 h = { "cat" => "feline", "dog" => nil, "cow" => false } 88 89 h.compact! 90 assert_equal({ "cat" => "feline", "cow" => false }, h) 83 91 end 84 92 … … 255 263 assert_nil(h.dig(:d)) 256 264 end 265 266 assert("Hash#transform_keys") do 267 h = {"1" => 100, "2" => 200} 268 assert_equal({"1!" => 100, "2!" => 200}, 269 h.transform_keys{|k| k+"!"}) 270 assert_equal({1 => 100, 2 => 200}, 271 h.transform_keys{|k|k.to_i}) 272 assert_same(h, h.transform_keys!{|k|k.to_i}) 273 assert_equal({1 => 100, 2 => 200}, h) 274 end 275 276 assert("Hash#transform_values") do 277 h = {a: 1, b: 2, c: 3} 278 assert_equal({a: 2, b: 5, c: 10}, 279 h.transform_values{|v| v * v + 1}) 280 assert_equal({a: "1", b: "2", c: "3"}, 281 h.transform_values{|v|v.to_s}) 282 assert_same(h, h.transform_values!{|v|v.to_s}) 283 assert_equal({a: "1", b: "2", c: "3"}, h) 284 end 285 286 assert("Hash#slice") do 287 h = { a: 100, b: 200, c: 300 } 288 assert_equal({:a=>100}, h.slice(:a)) 289 assert_equal({:b=>200, :c=>300}, h.slice(:b, :c, :d)) 290 end
Note:
See TracChangeset
for help on using the changeset viewer.