Sha256: 06b78045215de258afae4cc1574dd34be348a55c4d05e96810a448cd539239b7

Contents?: true

Size: 1.26 KB

Versions: 4

Compression:

Stored size: 1.26 KB

Contents

covers 'facets/hash/collate'

tests Hash do

  a = { :a=>1, :b=>2, :z=>26, :all=>%w|a b z|, :stuff1=>%w|foo bar|, :whee=>%w|a b| }
  b = { :a=>1, :b=>4, :c=>9,  :all=>%w|a b c|, :stuff2=>%w|jim jam|, :whee=>%w|a b| }
  c = { :a=>1, :b=>8, :c=>27 }

  unit :collate do
    collated = a.collate(b)

    collated.keys.length.assert == 8

    collated[:a].assert == [1,1]
    collated[:b].assert == [2,4]
    collated[:c].assert == [9]
    collated[:z].assert == [26]

    collated[:all].assert == %w|a b z a b c|
    collated[:stuff1].assert == %w|foo bar|
    collated[:stuff2].assert == %w|jim jam|
    collated[:whee].assert == %w|a b a b|
  end

  unit :collate => "multiple times" do
    collated = a.collate(b).collate(c)

    collated[:a].assert == [1,1,1]
    collated[:b].assert == [2,4,8]
    collated[:c].assert == [9,27]
  end

  unit :collate! => "in place variant of #collate" do
    collated = a.dup
    collated.collate!(b)

    collated.keys.length.assert == 8

    collated[:a].assert == [1,1]
    collated[:b].assert == [2,4]
    collated[:c].assert == [9]
    collated[:z].assert == [26]

    collated[:all].assert == %w|a b z a b c|
    collated[:stuff1].assert == %w|foo bar|
    collated[:stuff2].assert == %w|jim jam|
    collated[:whee].assert == %w|a b a b|
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
facets-2.9.1 test/core/hash/test_collate.rb
facets-2.9.0 test/core/hash/test_collate.rb
facets-2.9.0.pre.2 test/core/hash/test_collate.rb
facets-2.9.0.pre.1 test/core/hash/test_collate.rb