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
|
require 'spec_helper'
describe 'Using Struct as an embedded value attribute' do
before do
module Examples
Point = Struct.new(:x, :y)
class Rectangle
include Virtus
attribute :top_left, Point
attribute :bottom_right, Point
end
end
end
subject do
Examples::Rectangle.new(:top_left => [ 3, 5 ], :bottom_right => [ 8, 7 ])
end
specify 'initialize a struct object with correct attributes' do
expect(subject.top_left.x).to be(3)
expect(subject.top_left.y).to be(5)
expect(subject.bottom_right.x).to be(8)
expect(subject.bottom_right.y).to be(7)
end
end
|