38 lines
No EOL
912 B
Ruby
38 lines
No EOL
912 B
Ruby
require File.join(File.dirname(__FILE__), *%w[spec_helper])
|
|
|
|
shared_examples_for "non-empty Stack" do
|
|
|
|
it { @stack.should_not be_empty }
|
|
|
|
it "should return the top item when sent #peek" do
|
|
@stack.peek.should == @last_item_added
|
|
end
|
|
|
|
it "should NOT remove the top item when sent #peek" do
|
|
@stack.peek.should == @last_item_added
|
|
@stack.peek.should == @last_item_added
|
|
end
|
|
|
|
it "should return the top item when sent #pop" do
|
|
@stack.pop.should == @last_item_added
|
|
end
|
|
|
|
it "should remove the top item when sent #pop" do
|
|
@stack.pop.should == @last_item_added
|
|
unless @stack.empty?
|
|
@stack.pop.should_not == @last_item_added
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
shared_examples_for "non-full Stack" do
|
|
|
|
it { @stack.should_not be_full }
|
|
|
|
it "should add to the top when sent #push" do
|
|
@stack.push "newly added top item"
|
|
@stack.peek.should == "newly added top item"
|
|
end
|
|
|
|
end |