This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
require 'helper'
|
||||
|
||||
test_case LRUHash do
|
||||
|
||||
class_method :new do
|
||||
h = LRUHash.new(10)
|
||||
LRUHash.assert === h
|
||||
end
|
||||
|
||||
method :max_size= do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h.max_size = 100
|
||||
end
|
||||
end
|
||||
|
||||
method :store do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h.store(:a, 1)
|
||||
h[:a].assert == 1
|
||||
end
|
||||
end
|
||||
|
||||
method :[] do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h.store(:a, 1)
|
||||
h[:a].assert == 1
|
||||
end
|
||||
|
||||
test do
|
||||
h = LRUHash.new(10){ |h,k| h[k] = 0 }
|
||||
h[:a].assert == 0
|
||||
end
|
||||
end
|
||||
|
||||
method :empty? do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h.assert.empty?
|
||||
end
|
||||
end
|
||||
|
||||
method :key do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h.key(1).assert == :a
|
||||
end
|
||||
end
|
||||
|
||||
method :keys do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h.keys.assert == [:a]
|
||||
end
|
||||
end
|
||||
|
||||
method :values do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h.values.assert == [1]
|
||||
end
|
||||
end
|
||||
|
||||
method :values_at do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h[:b] = 2
|
||||
h.values_at(:a).assert == [1]
|
||||
end
|
||||
end
|
||||
|
||||
method :has_key? do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h.assert.has_key?(:a)
|
||||
end
|
||||
end
|
||||
|
||||
method :has_value? do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h.assert.has_value?(1)
|
||||
end
|
||||
end
|
||||
|
||||
method :assoc do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h[:b] = 2
|
||||
h.assoc(:a).assert == [:a,1]
|
||||
end
|
||||
end
|
||||
|
||||
method :rassoc do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h[:b] = 2
|
||||
h.rassoc(1).assert == [:a,1]
|
||||
end
|
||||
end
|
||||
|
||||
method :each_key do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h[:b] = 2
|
||||
h.each_key do |k|
|
||||
[:a,:b].assert.include?(k)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
method :each_value do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h[:b] = 2
|
||||
h.each_value do |v|
|
||||
[1,2].assert.include?(v)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
method :clear do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h[:b] = 2
|
||||
h.clear
|
||||
h.assert.empty?
|
||||
end
|
||||
end
|
||||
|
||||
method :delete do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h.delete(:a)
|
||||
h.assert.empty?
|
||||
end
|
||||
end
|
||||
|
||||
method :delete_if do
|
||||
test do
|
||||
h = LRUHash.new(10)
|
||||
h[:a] = 1
|
||||
h.delete_if{ |k,v| k == :a }
|
||||
h.assert.empty?
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user