Class HashEvalTest
In: lib/hash_eval.rb
Parent: Test::Unit::TestCase

Methods

Public Instance methods

[Source]

# File lib/hash_eval.rb, line 64
  def test_block_arg
    hash_eval = HashEval.new do |h|
      h.k1 'v1'
      assert self.class != HashEval
    end
    assert_equal 'v1', hash_eval.hash[:k1]
  end

[Source]

# File lib/hash_eval.rb, line 38
  def test_block_without_arg
    hash_eval = HashEval.new do
      k1 'v1'
      k2 do
        k1 'v1'
      end
      k3 'v3' do
        k1 'v4'
      end
      k4 'v5', 'v6'
      k5 do
        k1 'v1'
        k2 do
          k1 'v1'
        end
      end
      @hash[:k6] = 'v10'
    end
    assert_equal 'v1', hash_eval.hash[:k1]
    assert_equal({ :k1 => 'v1'}, hash_eval.hash[:k2])
    assert_equal [ 'v3', {:k1 => 'v4'} ], hash_eval.hash[:k3]
    assert_equal [ 'v5', 'v6' ], hash_eval.hash[:k4]
    assert_equal({:k1=>"v1", :k2=>{:k1=>"v1"}}, hash_eval.hash[:k5])
    assert_equal 'v10', hash_eval.hash[:k6]
  end

[Source]

# File lib/hash_eval.rb, line 72
  def test_no_block
    hash_eval = HashEval.new
    hash_eval[:k1] = 'v1'
    hash_eval.hash[:k2] = 'v2'
    assert_equal [:k1, 'v1'], hash_eval.hash[:[]=]
    assert_equal 'v2', hash_eval.hash[:k2]
  end

[Validate]