1 require File.dirname(__FILE__) + '/../../abstract_unit'
3 class AttrInternalTest < Test::Unit::TestCase
6 @instance = @target.new
10 assert_nothing_raised { @target.attr_internal_reader :foo }
12 assert !@instance.instance_variable_defined?('@_foo')
13 assert_raise(NoMethodError) { @instance.foo = 1 }
15 @instance.instance_variable_set('@_foo', 1)
16 assert_nothing_raised { assert_equal 1, @instance.foo }
20 assert_nothing_raised { @target.attr_internal_writer :foo }
22 assert !@instance.instance_variable_defined?('@_foo')
23 assert_nothing_raised { assert_equal 1, @instance.foo = 1 }
25 assert_equal 1, @instance.instance_variable_get('@_foo')
26 assert_raise(NoMethodError) { @instance.foo }
30 assert_nothing_raised { @target.attr_internal :foo }
32 assert !@instance.instance_variable_defined?('@_foo')
33 assert_nothing_raised { assert_equal 1, @instance.foo = 1 }
35 assert_equal 1, @instance.instance_variable_get('@_foo')
36 assert_nothing_raised { assert_equal 1, @instance.foo }
39 def test_naming_format
40 assert_equal '@_%s', @target.attr_internal_naming_format
41 assert_nothing_raised { @target.attr_internal_naming_format = '@abc%sdef' }
42 @target.attr_internal :foo
44 assert !@instance.instance_variable_defined?('@_foo')
45 assert !@instance.instance_variable_defined?('@abcfoodef')
46 assert_nothing_raised { @instance.foo = 1 }
47 assert !@instance.instance_variable_defined?('@_foo')
48 assert @instance.instance_variable_defined?('@abcfoodef')
50 @target.attr_internal_naming_format = '@_%s'