PageRenderTime 40ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

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

https://bitbucket.org/mediashelf/fedora-migrator
Ruby | 33 lines | 27 code | 6 blank | 0 comment | 0 complexity | 2ceda5ae0aea6dc50cf59bda82a1a624 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/collate'
  2. require 'test/unit'
  3. class TC_Hash_Collation < Test::Unit::TestCase
  4. def setup
  5. @a = { :a=>1, :b=>2, :z=>26, :all=>%w|a b z|, :stuff1=>%w|foo bar|, :whee=>%w|a b| }
  6. @b = { :a=>1, :b=>4, :c=>9, :all=>%w|a b c|, :stuff2=>%w|jim jam|, :whee=>%w|a b| }
  7. @c = { :a=>1, :b=>8, :c=>27 }
  8. end
  9. def test_defaults
  10. collated = @a.collate(@b)
  11. assert_equal( 8, collated.keys.length, "There are 7 unique keys" )
  12. assert_equal( [1,1], collated[ :a ] )
  13. assert_equal( [2,4], collated[ :b ] )
  14. assert_equal( [9], collated[ :c ] )
  15. assert_equal( [26], collated[ :z ] )
  16. assert_equal( %w|a b z a b c|, collated[ :all ], "Arrays are merged by default." )
  17. assert_equal( %w|foo bar|, collated[ :stuff1 ] )
  18. assert_equal( %w|jim jam|, collated[ :stuff2 ] )
  19. assert_equal( %w|a b a b|, collated[ :whee ] )
  20. end
  21. def test_multi_collate
  22. collated = @a.collate(@b).collate(@c)
  23. assert_equal( [1,1,1], collated[ :a ] )
  24. assert_equal( [2,4,8], collated[ :b ] )
  25. assert_equal( [9,27], collated[ :c ] )
  26. end
  27. end