Files
news.gitea.happylizard.me/bin/gems/hashery-2.1.2/test/case_lru_hash.rb
T
pizza2d1 4cee170d66
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s
Add bin and edit workflow
2026-09-16 13:11:16 -06:00

163 lines
2.4 KiB
Ruby

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