1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
require 'spec_helper'
describe Virtus::AttributeSet, '#define_reader_method' do
subject(:attribute_set) { described_class.new }
let(:attribute) { Virtus::Attribute.build(String, :name => method_name) }
let(:method_name) { :foo_bar }
before do
attribute_set.define_reader_method(attribute, method_name, visibility)
end
context "with public visibility" do
let(:visibility) { :public }
it "defines public writer" do
expect(attribute_set.public_instance_methods).to include(method_name)
end
end
context "with private visibility" do
let(:visibility) { :private }
it "defines public writer" do
expect(attribute_set.private_instance_methods).to include(method_name)
end
end
context "with protected visibility" do
let(:visibility) { :protected }
it "defines protected writer" do
expect(attribute_set.protected_instance_methods).to include(method_name)
end
end
end
|