1require File.expand_path('../helper', __FILE__) 2require 'rake/private_reader' 3 4class TestPrivateAttrs < Rake::TestCase 5 6 class Sample 7 include Rake::PrivateReader 8 9 private_reader :reader, :a 10 11 def initialize 12 @reader = :RVALUE 13 end 14 15 def get_reader 16 reader 17 end 18 19 end 20 21 def setup 22 super 23 @sample = Sample.new 24 end 25 26 def test_private_reader_is_private 27 assert_private do @sample.reader end 28 assert_private do @sample.a end 29 end 30 31 def test_private_reader_returns_data 32 assert_equal :RVALUE, @sample.get_reader 33 end 34 35 private 36 37 def assert_private 38 ex = assert_raises(NoMethodError) do yield end 39 assert_match(/private/, ex.message) 40 end 41 42end 43