@@ -36,15 +36,24 @@ module TestTree
3636 class TestTreeChecks < Test ::Unit ::TestCase
3737 def test_checks_disabled_skips_validation
3838 root = Tree ::TreeNode . new ( 'root' , nil , { checks : false } )
39- child1 = Tree ::TreeNode . new ( 'dup' , nil , { checks : false } )
40- child2 = Tree ::TreeNode . new ( 'dup' , nil , { checks : false } )
39+ child1 = Tree ::TreeNode . new ( 'dup-1 ' , nil , { checks : false } )
40+ child2 = Tree ::TreeNode . new ( 'dup-2 ' , nil , { checks : false } )
4141
4242 root . add ( child1 )
4343 assert_nothing_raised { root . add ( child2 ) }
4444 assert_equal ( 2 , root . children . size )
4545 assert_nil ( root [ nil ] )
4646 end
4747
48+ def test_checks_disabled_still_enforces_duplicate_names
49+ root = Tree ::TreeNode . new ( 'root' , nil , { checks : false } )
50+ child1 = Tree ::TreeNode . new ( 'dup' , nil , { checks : false } )
51+ child2 = Tree ::TreeNode . new ( 'dup' , nil , { checks : false } )
52+
53+ root . add ( child1 )
54+ assert_raise ( RuntimeError ) { root . add ( child2 ) }
55+ end
56+
4857 def test_checks_enabled_validation_guards
4958 root = Tree ::TreeNode . new ( 'root' )
5059 child1 = Tree ::TreeNode . new ( 'dup' )
@@ -72,8 +81,8 @@ def test_checks_setting_propagates_to_children
7281 root . add ( child )
7382 assert_equal ( false , child . checks_enabled? )
7483
75- dup = Tree ::TreeNode . new ( 'child ' )
76- assert_nothing_raised { root . add ( dup ) }
84+ other = Tree ::TreeNode . new ( 'child2 ' )
85+ assert_nothing_raised { root . add ( other ) }
7786 end
7887 end
7988end
0 commit comments