Sha256: 448f40b9f95b1a60d54978607f3b458f4ee5c4a03c5397abdf826f5657ea16a1

Contents?: true

Size: 934 Bytes

Versions: 9

Compression:

Stored size: 934 Bytes

Contents

require 'spec_helper'

describe SonJay::ObjectModel::PropertyDefinition do

  it "has a nil model class for a nil instruction" do
    instance = described_class.new( :a, nil )
    expect( instance.model_class ).to be_nil
  end

  it "has a model class for a model class instruction" do
    model_class = Class.new

    instance = described_class.new( :a, model_class )
    expect( instance.model_class ).to eq( model_class )
  end

  it "has a value-array class for an empty-array instruction" do
    instance = described_class.new( :a, [] )
    expect( instance.model_class ).to eq( SonJay::ValueArray )
  end

  it "has a model-array class for an array w/ model class entry" do
    entry_model_class = Class.new do
      class Array ; end
      def self.array_class ; Array ; end
    end

    instance = described_class.new( :a, [ entry_model_class ] )
    expect( instance.model_class ).to eq( entry_model_class::Array )
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
son_jay-0.5.2 spec/object_model/property_definition_spec.rb
son_jay-0.5.1 spec/object_model/property_definition_spec.rb
son_jay-0.5.0 spec/object_model/property_definition_spec.rb
son_jay-0.4.1 spec/object_model/property_definition_spec.rb
son_jay-0.4.0 spec/object_model/property_definition_spec.rb
son_jay-0.3.0 spec/object_model/property_definition_spec.rb
son_jay-0.2.0.alpha spec/object_model/property_definition_spec.rb
son_jay-0.1.1.alpha spec/object_model/property_definition_spec.rb
son_jay-0.1.0.alpha spec/object_model/property_definition_spec.rb