Froze rails gems
[depot.git] / vendor / rails / activeresource / test / base / equality_test.rb
1 require 'abstract_unit'
2 require "fixtures/person"
3 require "fixtures/street_address"
4
5 class BaseEqualityTest < Test::Unit::TestCase
6 def setup
7 @new = Person.new
8 @one = Person.new(:id => 1)
9 @two = Person.new(:id => 2)
10 @street = StreetAddress.new(:id => 2)
11 end
12
13 def test_should_equal_self
14 assert @new == @new, '@new == @new'
15 assert @one == @one, '@one == @one'
16 end
17
18 def test_shouldnt_equal_new_resource
19 assert @new != @one, '@new != @one'
20 assert @one != @new, '@one != @new'
21 end
22
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'
26 end
27
28 def test_eql_should_alias_equals_operator
29 assert_equal @new == @new, @new.eql?(@new)
30 assert_equal @new == @one, @new.eql?(@one)
31
32 assert_equal @one == @one, @one.eql?(@one)
33 assert_equal @one == @new, @one.eql?(@new)
34
35 assert_equal @one == @street, @one.eql?(@street)
36 end
37
38 def test_hash_should_be_id_hash
39 [@new, @one, @two, @street].each do |resource|
40 assert_equal resource.id.hash, resource.hash
41 end
42 end
43 end