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