spec/hamster/hash/put_spec.rb in hamster-0.2.7 vs spec/hamster/hash/put_spec.rb in hamster-0.2.8

- old
+ new

@@ -1,48 +1,44 @@ -require File.expand_path('../../spec_helper', File.dirname(__FILE__)) +require File.expand_path('../../../spec_helper', __FILE__) require 'hamster/hash' describe Hamster::Hash do - [:put, :[]=].each do |method| + describe "#put" do - describe "##{method}" do + before do + @original = Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") + end + describe "with a unique key" do + before do - @original = Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") + @result = @original.put("D", "dee") end - describe "with a unique key" do + it "preserves the original" do + @original.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") + end - before do - @result = @original.send(method, "D", "dee") - end + it "returns a copy with the superset of key/value pairs" do + @result.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see", "D" => "dee") + end - it "preserves the original" do - @original.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") - end + end - it "returns a copy with the superset of key/value pairs" do - @result.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see", "D" => "dee") - end + describe "with a duplicate key" do + before do + @result = @original.put("C", "sea") end - describe "with a duplicate key" do + it "preserves the original" do + @original.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") + end - before do - @result = @original.send(method, "C", "sea") - end - - it "preserves the original" do - @original.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "see") - end - - it "returns a copy with the superset of key/value pairs" do - @result.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "sea") - end - + it "returns a copy with the superset of key/value pairs" do + @result.should == Hamster.hash("A" => "aye", "B" => "bee", "C" => "sea") end end end