PageRenderTime 52ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/gems/facets-2.4.5/test/core/hash/test_update.rb

https://bitbucket.org/mediashelf/fedora-migrator
Ruby | 46 lines | 37 code | 9 blank | 0 comment | 0 complexity | 0191833c64d949cc685558919db5f4e3 MD5 | raw file
Possible License(s): GPL-3.0, GPL-2.0, IPL-1.0, AGPL-1.0, LGPL-3.0
  1. require 'facets/hash/update'
  2. require 'test/unit'
  3. class TC_Hash_Prime < Test::Unit::TestCase
  4. def test_shift_update
  5. a = { :a => 1, :b => 2, :c => 3 }
  6. b = { :a => 0, :d => 4 }
  7. e = { :a => 0, :b => 2, :c => 3, :d => 4 }
  8. assert_equal( e, a << b )
  9. end
  10. def test_update_each
  11. a = { :a => 1, :b => 2, :c => 3 }
  12. e = { :a => 2, :b => 3, :c => 4 }
  13. a.update_each{ |k,v| { k => v+1 } }
  14. assert_equal( e, a )
  15. end
  16. def test_update_keys_01
  17. h = { 'A' => 1, 'B' => 2 }
  18. h.update_keys{ |k| k.downcase }
  19. assert_equal( { 'a' => 1, 'b' => 2 }, h)
  20. end
  21. def test_update_keys_02
  22. h = { :a => 1, :b => 2 }
  23. h.update_keys{ |k| "#{k}!" }
  24. assert_equal( { "a!" => 1, "b!" => 2 }, h)
  25. end
  26. def test_update_values
  27. h = { 1 => 'A', 2 => 'B' }
  28. h.update_values{ |v| v.downcase }
  29. assert_equal( { 1 => 'a', 2 => 'b' }, h )
  30. end
  31. def test_replace_each
  32. a = { :a => 1, :b => 2, :c => 3 }
  33. e = { :a => 2, :b => 3, :c => 4 }
  34. a.replace_each{ |k,v| { k => v+1 } }
  35. assert_equal( e, a )
  36. end
  37. end