Sha256: ff97978789b41919f9b2630428e4d70252becfd6c4782283e1e2c1ffac86e387

Contents?: true

Size: 845 Bytes

Versions: 5

Compression:

Stored size: 845 Bytes

Contents

require 'spec_helper'

describe Virtus::Attribute::Object, '.descendants' do
  subject { described_class.descendants.map { |c| c.to_s }.sort }

  let(:known_descendants) do
    [ Virtus::Attribute::EmbeddedValue, Virtus::Attribute::Symbol,
      Virtus::Attribute::Time,          Virtus::Attribute::String,
      Virtus::Attribute::Integer,       Virtus::Attribute::Hash,
      Virtus::Attribute::Float,         Virtus::Attribute::Decimal,
      Virtus::Attribute::Numeric,       Virtus::Attribute::DateTime,
      Virtus::Attribute::Date,          Virtus::Attribute::Boolean,
      Virtus::Attribute::Set,           Virtus::Attribute::Array,
      Virtus::Attribute::Collection,    Virtus::Attribute::Class ].map { |a| a.to_s }.sort
  end

  it 'should return all known attribute classes' do
    subject.should eql(known_descendants)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
virtus-0.4.2 spec/unit/virtus/attribute/object/class_methods/descendants_spec.rb
virtus-0.4.1 spec/unit/virtus/attribute/object/class_methods/descendants_spec.rb
virtus-0.4.0 spec/unit/virtus/attribute/object/class_methods/descendants_spec.rb
virtus-0.3.0 spec/unit/virtus/attribute/object/class_methods/descendants_spec.rb
virtus-0.2.0 spec/unit/virtus/attribute/object/class_methods/descendants_spec.rb