Sha256: 2ae7f4edeb78fe86e653f16c056ece38387d566d827d3277afe6f5d505cc2dcf

Contents?: true

Size: 658 Bytes

Versions: 11

Compression:

Stored size: 658 Bytes

Contents

require 'eg_helper'

eg.setup do
  @a = AngryHash[
    :b => { 
      :c => 'c',
      :d => 'd' 
    }
  ]
end

def same_obj(a,b)
  a.__id__ == b.__id__
end

eg 'accessor! with existing subhash' do
  Assert( same_obj( @a.b!, @a.b ) )
end

eg 'accessor! creating and returning' do
  d = @a.d!
  Assert( same_obj( d, @a.d ) )
end

eg 'accessor= AngryHash' do
  d    = AngryHash.new
  @a.d = d
  Assert( same_obj( d, @a.d ) )
end

eg 'accessor= Hash' do
  d = {}
  @a.d = d
  Assert( ! same_obj( d, @a.d ) )
end

eg 'accessor?' do
  Assert(   @a.b? )
  Assert( ! @a.c? )
  Assert(   @a.b.c? )
  Assert( ! @a.b.x? )

  @a.b.f = false

  Assert( ! @a.b.f? )
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
angry_hash-0.3.4 examples/accessors_eg.rb
angry_hash-0.3.3 examples/accessors_eg.rb
angry_hash-0.3.2 examples/accessors_eg.rb
angry_hash-0.3.1 examples/accessors_eg.rb
angry_hash-0.3.0 examples/accessors_eg.rb
angry_hash-0.2.2 examples/accessors_eg.rb
angry_hash-0.2.1 examples/accessors_eg.rb
angry_hash-0.2.0 examples/accessors_eg.rb
angry_hash-0.1.1 examples/accessors_eg.rb
angry_mob-0.1.0 vendor/angry_hash/examples/accessors_eg.rb
angry_hash-0.1.0 examples/accessors_eg.rb