Sha256: 8ad518b7dd1fe8b8385f3b1b1a18d6877c3517ff17bb314fcf06457ce0402441
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') describe Hamster::Hash do [:map, :collect].each do |method| describe "##{method}" do describe "when empty" do before do @original = Hamster.hash @mapped = @original.send(method) {} end it "returns self" do @mapped.should equal(@original) end end describe "when not empty" do before do @original = Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") end describe "with a block" do before do @mapped = @original.send(method) { |key, value| [key.downcase, value.upcase] } end it "preserves the original values" do @original.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") end it "returns a new hash with the mapped values" do @mapped.should == Hamster.hash("a" => "AYE", "b" => "BEE", "c" => "SEE") end end describe "with no block" do before do @enumerator = @original.send(method) end it "preserves the original values" do @original.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") end it "returns an enumerator over the key value pairs" do Hamster.hash(@enumerator.to_a).should == @original end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hamster-0.1.11 | spec/hamster/hash/map_spec.rb |