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