Sha256: 294310c5d235566cd89474b19c85130a7559857822ddaa90d9d97e36f62257d6
Contents?: true
Size: 925 Bytes
Versions: 2
Compression:
Stored size: 925 Bytes
Contents
require 'helper' describe Toy::Equality do uses_objects('User') before do User.attribute :name, String end shared_examples_for 'object equality' do |method_name| it "returns true if same class and attributes" do User.new(:name => 'John').send(method_name, User.new(:name => 'John')).should be_true end it "return false if different class" do User.new(:name => 'John').send(method_name, Object.new).should be_false end it "returns false if different attributes" do User.new(:name => 'John').send(method_name, User.new(:name => 'Steve')).should be_false end end describe "#eql?" do include_examples 'object equality', :eql? end describe "#==" do include_examples 'object equality', :== end describe "#hash" do it "returns the hash of the attributes" do user = User.new user.hash.should eq(user.attributes.hash) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
toystore-0.13.2 | spec/toy/equality_spec.rb |
toystore-0.13.1 | spec/toy/equality_spec.rb |