1 require 'abstract_unit'
2 require "fixtures/person"
3 require "fixtures/street_address"
5 class BaseEqualityTest
< Test
::Unit::TestCase
8 @one = Person
.new(:id => 1)
9 @two = Person
.new(:id => 2)
10 @street = StreetAddress
.new(:id => 2)
13 def test_should_equal_self
14 assert
@new == @new, '@new == @new'
15 assert
@one == @one, '@one == @one'
18 def test_shouldnt_equal_new_resource
19 assert
@new != @one, '@new != @one'
20 assert
@one != @new, '@one != @new'
23 def test_shouldnt_equal_different_class
24 assert
@two != @street, 'person != street_address with same id'
25 assert
@street != @two, 'street_address != person with same id'
28 def test_eql_should_alias_equals_operator
29 assert_equal
@new == @new, @new.eql
?(@new)
30 assert_equal
@new == @one, @new.eql
?(@one)
32 assert_equal
@one == @one, @one.eql
?(@one)
33 assert_equal
@one == @new, @one.eql
?(@new)
35 assert_equal
@one == @street, @one.eql
?(@street)
38 def test_hash_should_be_id_hash
39 [@new, @one, @two, @street].each
do |resource
|
40 assert_equal resource
.id
.hash
, resource
.hash