diff -r d8d42eeec0c8 Foundation/CPArray.j --- a/Foundation/CPArray.j Thu Apr 30 13:05:06 2009 +0200 +++ b/Foundation/CPArray.j Thu Apr 30 14:03:45 2009 +0200 @@ -259,10 +259,7 @@ */ - (unsigned)hash { - if (self.__address == nil) - self.__address = _objj_generateObjectHash(); - - return self.__address; + return [self count]; } // Querying an array diff -r d8d42eeec0c8 Tests/Foundation/CPArrayTest.j --- a/Tests/Foundation/CPArrayTest.j Thu Apr 30 13:05:06 2009 +0200 +++ b/Tests/Foundation/CPArrayTest.j Thu Apr 30 14:03:45 2009 +0200 @@ -92,4 +92,13 @@ [self assert:array equals:[@"one", @"two", @"four"]]; } + +- (void) testEmptyArraysAlwaysHaveTheSameHash +{ + [self assert:[[] hash] equals:[[] hash] message:"comparing empty array literal"]; + [self assert:[["fnord"] hash] equals:[["fnord"] hash] message:"comparing one element array literal"]; + [self assert:[[CPArray array] hash] equals:[[CPArray array] hash] message:"comparing empty CPArray"]; + [self assert:[[CPArray arrayWithObject:"fnord"] hash] equals:[[CPArray arrayWithObject:"fnord"] hash] message:"comparing one element array"]; +} + @end