Sha256: f803c23bb7dedbab82b94fb7fdd6f6b6c27898ea16e0be633183920d55743065

Contents?: true

Size: 838 Bytes

Versions: 4

Compression:

Stored size: 838 Bytes

Contents

require 'spec_helper'

describe Errplane::MaxQueue do
  it "should inherit from Queue" do
    Errplane::MaxQueue.new.should be_a(Queue)
  end

  context "#new" do
    it "should allow max_depth to be set" do
      queue = Errplane::MaxQueue.new(500)
      queue.max_depth.should == 500
    end
  end

  context "#push_or_discard" do
    it "should allow an item to be added if the queue is not full" do
      queue = Errplane::MaxQueue.new(5)
      queue.size.should be_zero
      queue.push_or_discard(1)
      queue.size.should == 1
    end

    it "should not allow items to be added if the queue is full" do
      queue = Errplane::MaxQueue.new(5)
      queue.size.should be_zero
      5.times { |n| queue.push_or_discard(n) }
      queue.size.should == 5
      queue.push_or_discard(6)
      queue.size.should == 5
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
errplane-0.5.10 spec/unit/max_queue_spec.rb
errplane-0.5.9 spec/unit/max_queue_spec.rb
errplane-0.5.8 spec/unit/max_queue_spec.rb
errplane-0.5.7 spec/unit/max_queue_spec.rb