Sha256: 3019c392fc8322a0f8dfd85acd729731d1c83ac840783190f189829c8ea7fbdf

Contents?: true

Size: 956 Bytes

Versions: 6

Compression:

Stored size: 956 Bytes

Contents

require 'volt/utils/generic_counting_pool'

class CountingPoolTest < GenericCountingPool
  def create(id, name=nil)
    return Object.new
  end
end

describe GenericCountingPool do
  before do
    @count_pool = CountingPoolTest.new
  end
  
  it "should lookup and retrieve" do
    item1 = @count_pool.find('one')
    
    item2 = @count_pool.find('one')
    item3 = @count_pool.find('two')
    
    expect(item1).to eq(item2)
    expect(item2).to_not eq(item3)
  end
  
  it "should only remove items when the same number have been removed as have been added" do
    item1 = @count_pool.find('_items', 'one')
    item2 = @count_pool.find('_items', 'one')
    expect(@count_pool.instance_variable_get('@pool')).to_not eq({})

    @count_pool.remove('_items', 'one')
    expect(@count_pool.instance_variable_get('@pool')).to_not eq({})

    @count_pool.remove('_items', 'one')
    expect(@count_pool.instance_variable_get('@pool')).to eq({})
    
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
volt-0.6.5 spec/utils/generic_counting_pool_spec.rb
volt-0.6.4 spec/utils/generic_counting_pool_spec.rb
volt-0.6.3 spec/utils/generic_counting_pool_spec.rb
volt-0.6.2 spec/utils/generic_counting_pool_spec.rb
volt-0.6.1 spec/utils/generic_counting_pool_spec.rb
volt-0.6.0 spec/utils/generic_counting_pool_spec.rb