Sha256: 3c3bfbd37a56b2ed2647d75d79df346b302c8592af05ec6752f77cb100f05de6

Contents?: true

Size: 1.29 KB

Versions: 27

Compression:

Stored size: 1.29 KB

Contents

require 'examples/passing/stack'
require 'examples/passing/shared_stack_examples'

describe Stack do
  
  before(:each) do
    @stack = Stack.new
  end

  describe "(empty)" do

    it { @stack.should be_empty }
  
    it_should_behave_like "non-full Stack"
  
    it "should complain when sent #peek" do
      lambda { @stack.peek }.should raise_error(StackUnderflowError)
    end
  
    it "should complain when sent #pop" do
      lambda { @stack.pop }.should raise_error(StackUnderflowError)
    end

  end

  describe "(with one item)" do
    
    before(:each) do
      @stack.push 3
      @last_item_added = 3
    end

    it_should_behave_like "non-empty Stack"
    it_should_behave_like "non-full Stack"

  end

  describe "(with one item less than capacity)" do
    
    before(:each) do
      (1..9).each { |i| @stack.push i }
      @last_item_added = 9
    end
  
    it_should_behave_like "non-empty Stack"
    it_should_behave_like "non-full Stack"
  end

  describe "(full)" do
    
    before(:each) do
      (1..10).each { |i| @stack.push i }
      @last_item_added = 10
    end

    it { @stack.should be_full }  

    it_should_behave_like "non-empty Stack"

    it "should complain on #push" do
      lambda { @stack.push Object.new }.should raise_error(StackOverflowError)
    end
  
  end

end

Version data entries

27 entries across 27 versions & 10 rubygems

Version Path
rspec-instructure-1.3.3 examples/passing/stack_spec_with_nested_example_groups.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/rspec-1.3.2/examples/passing/stack_spec_with_nested_example_groups.rb
rspec-1.3.2 examples/passing/stack_spec_with_nested_example_groups.rb
rspec-1.3.1 examples/passing/stack_spec_with_nested_example_groups.rb
rspec-1.3.1.rc examples/passing/stack_spec_with_nested_example_groups.rb
rspec-1.3.0 examples/passing/stack_spec_with_nested_example_groups.rb
simple-templater-0.0.1.4 gems/gems/rspec-1.2.9/examples/passing/stack_spec_with_nested_example_groups.rb
media-path-0.1.2 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
simple-templater-0.0.1.3 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
pupu-0.0.2.pre vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
media-path-0.1.1.pre vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
simple-templater-0.0.1.2 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
media-path-0.1.1 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
simple-templater-0.0.1.1 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
pupu-0.0.2 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
rango-0.0.6 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
rango-0.1.pre vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
pupu-0.0.1 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
media-path-0.1 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb
simple-templater-0.0.1 vendor/rspec/examples/passing/stack_spec_with_nested_example_groups.rb