Sha256: 579ef845f74f7194ffb95dd773c2dc19d54a0cf82e8604fe037c2f4d77f7f94e

Contents?: true

Size: 911 Bytes

Versions: 16

Compression:

Stored size: 911 Bytes

Contents

require 'facets/enumerable/mash'
require 'test/unit'

class TC_Enumerable_Mash < Test::Unit::TestCase

  def test_mash_hash_return
    a = { :a => 1, :b => 2, :c => 3 }
    e = { :a => 2, :b => 3, :c => 4 }
    assert_equal( e, a.mash{ |k,v| {k => v+1} } )
  end

  def test_mash_hash_of_array
    a = { :a => [1,2], :b => [2,3], :c => [3,4] }
    e = { :a => 2, :b => 6, :c => 12 }
    assert_equal( e, a.mash{ |k,v| [k, v[0]*v[1] ] } )
  end

  def test_mash_array_of_array
    a = [ [1,2], [2,3], [3,4] ]
    e = { [1,2] => 2, [2,3] => 6, [3,4] => 12 }
    assert_equal( e, a.mash{ |a| [a, a[0]*a[1] ] } )
  end

  def test_mash_squares
    numbers  = (1..3)
    squares  = numbers.mash{ |n| [n, n*n] }
    assert_equal( {1=>1, 2=>4, 3=>9}, squares )
  end

  def test_mash_roots
    numbers  = (1..3)
    sq_roots = numbers.mash{ |n| [n*n, n] }
    assert_equal( {1=>1, 4=>2, 9=>3}, sq_roots )
  end

end


Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
facets-2.8.4 test/core/enumerable/test_mash.rb
facets-2.8.3 test/core/enumerable/test_mash.rb
facets-2.8.2 test/core/enumerable/test_mash.rb
facets-2.8.1 test/core/enumerable/test_mash.rb
facets-2.8.0 test/core/enumerable/test_mash.rb
facets-2.7.0 test/core/enumerable/test_mash.rb
facets-2.6.0 test/core/enumerable/test_mash.rb
facets-2.4.0 test/enumerable/test_mash.rb
facets-2.4.1 test/enumerable/test_mash.rb
facets-2.4.3 test/core/enumerable/test_mash.rb
facets-2.4.2 test/core/enumerable/test_mash.rb
facets-2.4.4 test/core/enumerable/test_mash.rb
facets-2.5.1 test/core/enumerable/test_mash.rb
facets-2.5.0 test/core/enumerable/test_mash.rb
facets-2.4.5 test/core/enumerable/test_mash.rb
facets-2.5.2 test/core/enumerable/test_mash.rb