Sha256: a7a2db9d9f95f4061cd3df9129f5c2002f399b23f941090c03be2671aa0115ea

Contents?: true

Size: 1.32 KB

Versions: 3

Compression:

Stored size: 1.32 KB

Contents

require File.dirname(__FILE__) + '/spec_helper'
require File.dirname(__FILE__) + '/stack'
require File.dirname(__FILE__) + '/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

3 entries across 3 versions & 1 rubygems

Version Path
picolena-0.1.6 rails_plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb
picolena-0.1.7 rails_plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb
picolena-0.1.8 rails_plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb