Sha256: e4ccdedd3b461b1dc92eb75a3677b787af1fa082b43188dd89ba56629afba1ac

Contents?: true

Size: 857 Bytes

Versions: 8

Compression:

Stored size: 857 Bytes

Contents

require_relative '../../spec_helper'
require 'virtus'

module Barometer
  class TestClass
    include Virtus.model
    attribute :sun, Data::Attribute::Sun
  end

  describe Data::Attribute::Sun do
    let(:model) { TestClass.new }

    context 'when setting to nil' do
      it 'resets the value' do
        model.sun = Barometer::Data::Sun.new(rise: Time.now, set: Time.now)
        model.sun = nil
        expect( model.sun ).to be_nil
      end
    end

    context 'when setting with Barometer::Data::Time' do
      it 'uses the passed in value' do
        rise = Time.utc(2013, 02, 10, 6, 0, 0)
        set = Time.utc(2013, 02, 10, 6, 0, 0)
        sun = Barometer::Data::Sun.new(rise: rise, set: set)
        model.sun = sun

        expect( model.sun ).to eq sun
        expect( model.sun.object_id ).to eq sun.object_id
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
barometer-0.9.7 spec/data/attributes/sun_spec.rb
barometer-0.9.6 spec/data/attributes/sun_spec.rb
barometer-0.9.5 spec/data/attributes/sun_spec.rb
barometer-0.9.4 spec/data/attributes/sun_spec.rb
barometer-0.9.3 spec/data/attributes/sun_spec.rb
barometer-0.9.2 spec/data/attributes/sun_spec.rb
barometer-0.9.1 spec/data/attributes/sun_spec.rb
barometer-0.9.0 spec/data/attributes/sun_spec.rb