Sha256: c569e109d3d682ae9035885a6e4c039ad91c876eb90b4fca4ba672cc42e60c45

Contents?: true

Size: 936 Bytes

Versions: 28

Compression:

Stored size: 936 Bytes

Contents

require_relative '../spec_helper'

describe RestfulResource::OpenObject do
  it 'acts as an openstruct' do
    object = described_class.new(name: 'David', surname: 'Santoro')

    expect(object.name).to eq 'David'
    expect(object.surname).to eq 'Santoro'
  end

  it "raises an error when accessing a field that doesn't exist" do
    object = described_class.new(name: 'David', surname: 'Santoro')

    expect { object.age }.to raise_error(NoMethodError)
  end

  it 'implements equality operators correctly' do
    a = described_class.new(name: 'Joe', age: 13)
    b = described_class.new(name: 'Joe', age: 13)
    c = described_class.new(name: 'Mike', age: 13)

    list = [a, b, c]

    expect(a == b).to eq true
    expect(a.eql?(b)).to eq true
    expect(a.equal?(b)).to eq false

    expect(a == c).to eq false
    expect(a.eql?(c)).to eq false
    expect(a.equal?(c)).to eq false
    expect(list.uniq.length).to eq 2
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
restful_resource-2.19.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.18.2 spec/restful_resource/open_object_spec.rb
restful_resource-2.18.1 spec/restful_resource/open_object_spec.rb
restful_resource-2.18.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.17.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.16.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.15.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.14.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.13.4 spec/restful_resource/open_object_spec.rb
restful_resource-2.13.3 spec/restful_resource/open_object_spec.rb
restful_resource-2.13.2 spec/restful_resource/open_object_spec.rb
restful_resource-2.13.1 spec/restful_resource/open_object_spec.rb
restful_resource-2.13.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.12.1 spec/restful_resource/open_object_spec.rb
restful_resource-2.12.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.11.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.10.3 spec/restful_resource/open_object_spec.rb
restful_resource-2.10.1 spec/restful_resource/open_object_spec.rb
restful_resource-2.10.0 spec/restful_resource/open_object_spec.rb
restful_resource-2.9.1 spec/restful_resource/open_object_spec.rb