| Class | SymTblTest |
| In: |
lib/sym_tbl.rb
|
| Parent: | Test::Unit::TestCase |
# File lib/sym_tbl.rb, line 127 def setup @father = SymTbl.new @father[:a] = 0 @father[:b] = 1 @son = SymTbl.new(@father) @son[:a] = 10 @son[:c] = 2 end
# File lib/sym_tbl.rb, line 136 def test1 root = SymTbl.new root[:a] = 0 root[:b] = 1 assert_equal(1, root[:b], 't1') assert_equal(0, root[:a], 't2') sub1 = SymTbl.new(root) sub1[:a] = 2 sub1[:c] = 3 assert_equal(1, sub1[:b], 't3') assert_equal(2, sub1[:a], 't4') assert_equal(3, sub1[:c], 't5') assert_equal(0, root[:a], 't6') sub2 = SymTbl.new(sub1) assert_equal(2, sub2[:a], 't7') sub2[:a] = 42 assert_equal(42, sub2[:a], 't8') assert_equal([{4=>{:a=>42}}, {3=>{:a=>2, :c=>3}}, {2=>{:b=>1, :a=>0}}], YAML::load(sub2.desc)) end
# File lib/sym_tbl.rb, line 168 def test_has_key? assert(@son.has_key?(:a)) assert(@son.has_key?(:b)) assert(@son.has_key?(:c)) assert(! @son.has_key?(:not_a_key)) end
# File lib/sym_tbl.rb, line 184 def test_merge s = SymTbl.new s[:a] = 40 s[:c] = 42 r = @son.merge(s) assert_equal(10, @son[:a]) assert_equal(2, @son[:c]) assert_equal(40, r[:a]) assert_equal(1, r[:b]) assert_equal(42, r[:c]) assert_equal(@son, r.father) end