spec/nested_hash_spec.rb in restruct-0.1.0 vs spec/nested_hash_spec.rb in restruct-0.2.0
- old
+ new
@@ -15,126 +15,126 @@
CounterHash = Restruct::NestedHash.new(Counter)
describe Restruct::NestedHash do
- let(:hash) { CounterHash.new }
+ let(:counter_hash) { CounterHash.new }
describe 'Getters' do
it '[]' do
- hash[:a].current.must_equal 0
+ counter_hash[:a].current.must_equal 0
end
it 'fetch' do
- hash[:a].incr
+ counter_hash[:a].incr
- hash.fetch(:a).current.must_equal 1
+ counter_hash.fetch(:a).current.must_equal 1
- error = proc { hash.fetch(:c) }.must_raise KeyError
+ error = proc { counter_hash.fetch(:c) }.must_raise KeyError
error.message.must_equal 'key not found: c'
end
it 'keys' do
- hash[:a].incr
- hash[:b].incr
+ counter_hash[:a].incr
+ counter_hash[:b].incr
- hash.keys.must_equal %w(a b)
+ counter_hash.keys.must_equal %w(a b)
end
it 'values' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.values.map(&:current).must_equal [2, 1]
+ counter_hash.values.map(&:current).must_equal [2, 1]
end
it 'values_at' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.values_at(:a, :f, :b, :g).map(&:current).must_equal [2, 0, 1, 0]
+ counter_hash.values_at(:a, :f, :b, :g).map(&:current).must_equal [2, 0, 1, 0]
end
end
describe 'Setters' do
it 'delete' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.delete(:a)
+ counter_hash.delete(:a)
- hash.keys.must_equal %w(b)
+ counter_hash.keys.must_equal %w(b)
end
it 'delete_if' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.delete_if { |k,v| v.current > 1 }.must_equal hash
- hash.keys.must_equal %w(b)
+ counter_hash.delete_if { |k,v| v.current > 1 }.must_equal counter_hash
+ counter_hash.keys.must_equal %w(b)
end
%w(keep_if select!).each do |method|
it method do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.send(method) { |k,v| v.current > 1 }.must_equal hash
- hash.keys.must_equal %w(a)
+ counter_hash.send(method) { |k,v| v.current > 1 }.must_equal counter_hash
+ counter_hash.keys.must_equal %w(a)
end
end
it 'clear' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.clear.must_equal hash
- hash.must_be_empty
+ counter_hash.clear.must_equal counter_hash
+ counter_hash.must_be_empty
end
end
describe 'Info' do
%w(size count length).each do |method|
it method do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.send(method).must_equal 2
+ counter_hash.send(method).must_equal 2
end
end
it 'empty?' do
- hash.must_be :empty?
- hash[:a].incr
- hash.wont_be :empty?
+ counter_hash.must_be :empty?
+ counter_hash[:a].incr
+ counter_hash.wont_be :empty?
end
%w(key? has_key?).each do |method|
it method do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- assert hash.send(method, :a)
- refute hash.send(method, :c)
+ assert counter_hash.send(method, :a)
+ refute counter_hash.send(method, :c)
end
end
end
describe 'Transformations' do
%w(to_h to_primitive).each do |method|
it method do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- hash.send(method).must_equal 'a' => 2, 'b' => 1
+ counter_hash.send(method).must_equal 'a' => 2, 'b' => 1
end
end
end
@@ -144,62 +144,62 @@
assert Restruct::Hash.included_modules.include? Enumerable
end
%w(each each_pair).each do |method|
it method do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
keys = []
values = []
- hash.send(method) do |k,v|
+ counter_hash.send(method) do |k,v|
keys << k
values << v
end
- keys.must_equal hash.keys
- values.must_equal hash.values
+ keys.must_equal counter_hash.keys
+ values.must_equal counter_hash.values
end
end
it 'each_key' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
keys = []
- hash.each_key { |k| keys << k }
+ counter_hash.each_key { |k| keys << k }
- keys.must_equal hash.keys
+ keys.must_equal counter_hash.keys
end
it 'each_value' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
values = []
- hash.each_value { |v| values << v }
+ counter_hash.each_value { |v| values << v }
- values.must_equal hash.values
+ values.must_equal counter_hash.values
end
end
it 'Equality' do
- copy = CounterHash.new id: hash.id
- assert hash == copy
- assert hash.eql? copy
- refute hash.equal? copy
+ copy = CounterHash.new id: counter_hash.id
+ assert counter_hash == copy
+ assert counter_hash.eql? copy
+ refute counter_hash.equal? copy
end
it 'Dump/Restore' do
- hash[:a].incr.incr
- hash[:b].incr
+ counter_hash[:a].incr.incr
+ counter_hash[:b].incr
- dump = hash.dump
+ dump = counter_hash.dump
other = CounterHash.new
other.restore dump
- other.id.wont_equal hash.id
- other.to_primitive.must_equal hash.to_primitive
+ other.id.wont_equal counter_hash.id
+ other.to_primitive.must_equal counter_hash.to_primitive
end
end
\ No newline at end of file