X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factiveresource%2Ftest%2Fbase%2Fequality_test.rb;fp=vendor%2Frails%2Factiveresource%2Ftest%2Fbase%2Fequality_test.rb;h=1fb8938e95ce3ac8c795358bf84c149447f29ecd;hb=d115f2e23823271635bad69229a42cd8ac68debe;hp=0000000000000000000000000000000000000000;hpb=37cb670bf3ddde90b214e591f100ed4446469484;p=depot.git diff --git a/vendor/rails/activeresource/test/base/equality_test.rb b/vendor/rails/activeresource/test/base/equality_test.rb new file mode 100644 index 0000000..1fb8938 --- /dev/null +++ b/vendor/rails/activeresource/test/base/equality_test.rb @@ -0,0 +1,43 @@ +require 'abstract_unit' +require "fixtures/person" +require "fixtures/street_address" + +class BaseEqualityTest < Test::Unit::TestCase + def setup + @new = Person.new + @one = Person.new(:id => 1) + @two = Person.new(:id => 2) + @street = StreetAddress.new(:id => 2) + end + + def test_should_equal_self + assert @new == @new, '@new == @new' + assert @one == @one, '@one == @one' + end + + def test_shouldnt_equal_new_resource + assert @new != @one, '@new != @one' + assert @one != @new, '@one != @new' + end + + def test_shouldnt_equal_different_class + assert @two != @street, 'person != street_address with same id' + assert @street != @two, 'street_address != person with same id' + end + + def test_eql_should_alias_equals_operator + assert_equal @new == @new, @new.eql?(@new) + assert_equal @new == @one, @new.eql?(@one) + + assert_equal @one == @one, @one.eql?(@one) + assert_equal @one == @new, @one.eql?(@new) + + assert_equal @one == @street, @one.eql?(@street) + end + + def test_hash_should_be_id_hash + [@new, @one, @two, @street].each do |resource| + assert_equal resource.id.hash, resource.hash + end + end +end